A detailed exploration of various Kubernetes deployment options on CloudStack infrastructure, including architecture analysis, setup guides, and comparative evaluation.
This repository examines four primary approaches to running Kubernetes on CloudStack, plus two foundational components that apply across all flavors.
- CKS (CloudStack Kubernetes Service) - Native CloudStack Kubernetes integration
- CAPC (Cluster API Provider for CloudStack) - Infrastructure-as-Code approach using Cluster API (with user-defined node OS)
- Rancher + CAPC - Managed Kubernetes with Rancher as the management plane, CAPC as the CloudStack infrastructure provider (with user-defined nodes)
- Talos Linux - Minimal, immutable Linux designed for Kubernetes (can be used standalone with CAPI, with Rancher, or independently)
These components are required or recommended for every flavor:
- CloudStack Kubernetes Provider (CCM) — External Cloud Controller Manager that replaces the deprecated in-tree provider (removed K8s 1.16). Handles node metadata labels, CloudStack load balancers for
LoadBalancerservices, and firewall rules. Auto-deployed on CKS 4.16+, must be manually deployed on all other flavors. - CloudStack CSI Driver — Persistent storage plugin that maps CloudStack disk offerings to Kubernetes StorageClasses. Supports dynamic provisioning, volume snapshots, and lifecycle management. Deployed separately on each cluster.
See the Architecture section for details on each.
- CloudStack Kubernetes Provider (external CCM) — applies to all flavors
- CloudStack CSI Driver (persistent storage) — applies to all flavors
- CKS architecture
- CAPC architecture
- Rancher+CAPC architecture
- Talos architecture
- CKS deployment
- CAPC deployment (with user-defined OS)
- CAPC custom image building — build your own K8s-compatible images for CAPC
- Move From Bootstrap — make CAPC clusters self-managing by transferring CAPI objects from a bootstrap cluster
- Rancher with CAPC
- Talos Linux standalone (with CAPI or bare-metal)
| Feature | CKS | CAPC | Rancher+CAPC | Talos (standalone) |
|---|---|---|---|---|
| Management | Native CloudStack UI/API | Cluster API controllers | Rancher UI/API | Talos CLI / Tinkerbell |
| Node OS | User-defined | User-defined | User-defined | Talos Linux (immutable) |
| GitOps | No | Yes (CAPI native) | Yes (Rancher Fleet) | Yes (Terraform/Talos) |
| Multi-cluster | Limited | Yes (CAPI native) | Yes (CAPI + Rancher Turtles) | Manual/CAPI |
| Upgrade Strategy | Manual | Automated | Automated | Automated (Talos) |
| Complexity | Low | Medium | High | Medium |
| Terraform | No | Yes (CAPI provider) | Yes | Yes |
🚧 Work in Progress - This repository is being actively developed.