Learn Orchestration & Management / Scheduling & Orchestration

Technology Guide

Cluster API

License: Apache-2.0

Cluster API Logo

Field Guide

Complete Guide

Cluster API (CAPI) is a Kubernetes SIG project that uses Kubernetes CRDs and controllers to manage the lifecycle of Kubernetes clusters themselves. You run a “management cluster” with CAPI installed, then create Cluster, Machine, MachineDeployment, and KubeadmControlPlane resources to describe the workload clusters you want. Controllers reconcile those resources into real infrastructure and kubeadm-bootstrapped nodes.

The power of CAPI is that the infrastructure side is pluggable. A provider implements InfrastructureProvider contracts to create machines and networks on a specific platform, and there are mature providers for AWS (CAPA), Azure (CAPZ), GCP (CAPG), vSphere (CAPV), OpenStack, Equinix Metal, MAAS, Nutanix, Proxmox, Hetzner, and many more. Bootstrap providers (usually kubeadm) turn raw machines into Kubernetes nodes; control plane providers manage the etcd/API server lifecycle and handle rolling upgrades of the control plane by replacing nodes one at a time. Upgrades are declarative — bump the version field, CAPI rolls the control plane and then the worker MachineDeployments.

CAPI is the machinery behind Tanzu Kubernetes Grid, Rancher (RKE2 via CAPI), OpenShift Hosted Control Planes, Kubermatic, and many internal “cluster-as-a-service” platforms. If you need to manage more than a handful of Kubernetes clusters across heterogeneous infrastructure, it’s the standard answer — the alternative is writing Terraform per provider and gluing it together with bash, which is exactly the problem CAPI exists to solve.

No articles found for Cluster API yet. Check back soon!