CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Administrator

Upgrading a Cluster with kubeadm

A real minor-version upgrade of a two-node cluster, control plane then worker. The order is not negotiable and the first obstacle is not kubeadm at all: the apt repository is pinned to one minor version, so the newer packages are invisible until you change it.

Cluster Architecture and Configuration Guide 22 of 103 Advanced

Upgraded from the versions above. Package version strings such as 1.36.4-1.1 include a Debian revision. Use the exact string apt-cache madison prints.

Two-node cluster, built at 1.35.8 specifically to have something to upgrade.
Server NameIP AddressOSRolesCPURAMHDD
CKA3001192.168.0.185Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA3001-NODE01192.168.0.186Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. Where we start

  2. The first obstacle is apt, not kubeadm

  3. Repoint the repository

  4. Upgrade kubeadm, and only kubeadm

  5. The plan, now that kubeadm knows what 1.36 is

  6. Apply it: the control plane

  7. The kubelet, which kubeadm does not upgrade for you

  8. Certificates were renewed as a side effect

  9. Drain the worker

  10. On the worker: upgrade node, not upgrade apply

  11. Uncordon, and verify the whole thing

Official sources