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 architecture
Figure 3-1. Cluster API architecture

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 ...

Get Cluster API and Declarative Kubernetes Management now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.