Chapter 3. How Cluster API Works
Cluster API manages clusters using a structure analogous to Kubernetes itself. Where Kubernetes uses a small number of management nodes to oversee a larger number of worker nodes, Cluster API uses a management cluster to oversee workload clusters. The Cluster API providers and controllers run in the management cluster, ensuring that each workload cluster matches its declared state.
The desired states for a workload cluster and all its nodes are defined in YAML manifest files based on the schemas of CRDs that define cluster components. When you create a cluster, you use manifest files to declaratively configure its control plane, worker nodes, and other resources. The management cluster then uses a controller to manage each resource based on its CRD. Figure 3-1 shows the overall architecture of a Cluster API deployment.
Cluster API can manage multiple workload clusters in completely different environments. Infrastructure providers implement the abstraction that lets the team manage these differentiated clusters with a single consistent interface. Each host or infrastructure provider creates its own Cluster API provider implementation and its own versions of CRDs.
Colloquially, the term infrastructure provider can refer to either the infrastructure host or the module that provisions cluster components on the ...