Kubernetes Blog

DIY: Create Your Own Cloud with Kubernetes (Part 3)

Cluster API enables managing Kubernetes clusters as custom resources within another Kubernetes cluster. It has two types of clusters: management clusters for deployment and tenant clusters for user applications. Cluster API utilizes providers for specific components, including Infrastructure Provider (KubeVirt Infrastructure Provider), Control Plane Provider (Kamaji), and Bootstrap Provider (Kubeadm). Using these providers, one can build a full-fledged managed Kubernetes system, deploying virtual Kubernetes clusters with a few clicks. Kamaji offers a cost-effective and secure approach by running the control plane as containers within the management cluster. Kubeadm serves as the standard Bootstrap Provider for preparing clusters in Cluster API. MachineDeployment resource allows declarative description of node groups, automating their creation and management. To fully integrate a tenant cluster, additional components like CNI Plugin, Cloud Controller Manager, and CSI Driver need to be installed, which can be managed using FluxCD. The KubeVirt Cloud Provider and CSI Driver offer advantages in security, simplicity, and convenience. Overall, this approach enables running Kubernetes within Kubernetes, simplifying infrastructure management and reducing costs.
favicon
kubernetes.io
kubernetes.io