Installation·Certified Kubernetes Administrator
Two-Node kubeadm Cluster Setup
Add a real worker to a kubeadm cluster. Prepare both machines, initialise the control plane, join the worker with a token and CA certificate hash, install Calico, and prove that workloads land on the worker while the control plane stays reserved.
Installation and Cluster Builds Guide 8 of 103 Beginner
- OSUbuntu 26.04 LTS
- Kernel7.0.0-29-generic
- Kubernetes1.36.4
- containerd2.2.6
- Calicov3.32.1
- TimeAbout 45 min
- Reviewed21 August 2026
Written against the versions above. Tokens, certificate hashes, pod name suffixes and timings are different on every run. The token in this guide has long since expired; yours will be your own.
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA3001 | 192.168.0.185 | Ubuntu 26.04 LTS | Control Plane Node | 2 Core | 4 GB | 50 GB |
| CKA3001-NODE01 | 192.168.0.186 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
Before you start
- Two Ubuntu 26.04 machines, each with at least 2 CPUs and 2 GB of RAM, and each with a unique hostname.
kubeadmuses the hostname as the node name, so two machines calledubuntucannot both join. - Both machines on the same network, able to reach each other. The worker connects to the control plane on TCP 6443.
sudoon both, and fixed addresses on both.- A pod CIDR that does not overlap your LAN. This lab is on 192.168.0.0/24 and uses 10.244.0.0/16 for pods.
- If you have already built the single-node cluster, read that guide first. Steps 1 to 5 here are the same work done twice, and the new material starts at step 6.
-
Do the prerequisites on both machines
-
Configure containerd on both machines
-
Install the packages on both machines
-
Initialise the control plane on the first machine only
-
Set up kubectl on the control plane
-
Join the worker
-
Install Calico, polling for its CRD before configuring it
-
Leave the control-plane taint alone
-
Prove workloads land on the worker
-
Clean up