Cluster API on Proxmox
The Kubernetes cluster as a Kubernetes resource, from Talos to Ubuntu
The script that adds a node works until it fails halfway, and leaves behind a machine no inventory knows about. The series replaces that script with a declarative model: you declare the cluster you want and a controller gets there. The cost is stated up front: the management cluster becomes a critical dependency.
The script that adds a node works until it fails halfway
The VM was created, kubeadm is installed, the join never ran because the token had expired. Now there is a machine that is not a node, that no inventory knows about, and that you will discover three months from now looking at the hypervisor's resources.
That is the cost of the imperative approach, and it is not the effort of writing the script. It is that a script describes how to do it, and when it stops halfway it leaves behind state nobody declared and nobody knows how to rebuild. Cluster API flips the direction: you declare the cluster you want, and a controller takes care of getting there and of staying there.
The series goes from the model to the components and on to a running cluster, and it states the bill too: the management cluster becomes a critical dependency, and below a certain scale learning and maintaining CAPI costs more than it saves. Better to know that before you stand one up.
What you will learn
- ✓ Work out when CAPI actually pays off, and below which scale it is more machinery than gain
- ✓ Read the four CRDs and the five phases, so you know where to look when it stalls
- ✓ Use an immutable operating system to take configuration drift off the table
- ✓ Bring a cluster up from the manifest to the kubeconfig
- ✓ Build an Ubuntu image for when Talos is not an option
Articles in the series
- 01A Kubernetes cluster as a Kubernetes resource 5 min
The script that adds a node works until it fails halfway. Cluster API makes the cluster a declarative resource, handled with the tools you already use.
→ - 02The cluster is stuck in Provisioning. Who is waiting? 6 min
Four nested CRDs and five phases between kubectl apply and a ready cluster. Knowing where control passes is the only way to find where it stopped.
→ - 03CAPI Part 3: Talos Linux - The Operating System for Kubernetes 12 min
Complete guide to deploying and managing Kubernetes clusters using Cluster API (CAPI) for infrastructure automation
→ - 04CAPI Part 4: Practical Setup - Day 1 Operations 10 min
Complete guide to initial deployment of Kubernetes clusters using Cluster API (CAPI) - From Zero to Working Cluster
→ - 05CAPI Part 5: Ubuntu on Proxmox - Image Builder and Deploy 5 min
Complete guide to deploying Kubernetes clusters on Proxmox using Ubuntu, Image Builder and Cluster API - From image creation to working cluster
→