Building a Cluster API Infrastructure Provider

Cluster API’s modular architecture allows platform teams to bring Kubernetes lifecycle management to any environment: specialized bare-metal hardware, custom internal hypervisors (Proxmox, bhyve, Firecracker), regional cloud providers, or isolated on-premises data centers. To support new infrastructure, you do not modify Cluster API Core. Instead, you build an Infrastructure Provider: a specialized Kubernetes operator that translates generic CAPI resources into concrete compute, network, and storage primitives. Writing a functional provider is not just about generating Custom Resource Definitions (CRDs)....

October 14, 2026

Provider Architecture and Provider Contracts

Cluster API manages Kubernetes clusters across radically different environments: AWS, Microsoft Azure, Google Cloud, VMware vSphere, OpenStack, Nutanix, Equinix Metal, and local Docker containers. Yet, the core Cluster API controller (capi-controller-manager) contains zero lines of cloud-specific code. It imports no cloud provider SDKs, constructs no EC2 instances, mounts no EBS volumes, and makes no calls to Azure Resource Manager. How does a generic controller coordinate concrete infrastructure across heterogeneous clouds without compiling provider code into its binary?...

October 13, 2026