World map

 

BM: Baca dalam Bahasa Melayu

World K9: Cluster Admin

Upgrade with kubeadm, one minor at a time

You will learn: the safe order of a kubeadm upgrade, office first, then one stall at a time.

Checked with Kubernetes 1.37 on 1 Nov 2026

The problem

Your kubeadm cluster runs 1.36. Kubernetes 1.37 is out. Which part do you upgrade first?

Pick one answer.

Watch

You are here: cluster kind-dev namespace default
Inside dev-control-plane: kubeadm version -o short prints v1.37.0. The kube-apiserver manifest uses the image registry.k8s.io/kube-apiserver:v1.37.0. Terminal output: $ docker exec -it dev-control-plane bash $ kubeadm version -o short v1.37.0 $ grep image: /etc/kubernetes/manifests/kube-apiserver.yaml image: registry.k8s.io/kube-apiserver:v1.37.0 $ exit exit

The office’s version lives in its static pod files. A kubeadm upgrade: Renovating the building: the office first, then one stall at a time, one minor version per step. writes new image tags there. One minor version per step.

Try it

Put the office’s upgrade in order, like the official kubeadm steps.

First step at the top. Put these in order. Use the arrows, or drag.

  • Install the new kubelet and kubectl, restart the kubelet
  • Install the new kubeadm (1.37.x)
  • kubectl drain the control-plane node
  • sudo kubeadm upgrade apply v1.37.x
  • kubectl uncordon the control-plane node
  • sudo kubeadm upgrade plan

Predict

Look before you change. What does sudo kubeadm upgrade plan do?

Pick one answer.

Try it

Your practice office runs v1.37.0. Build the command that moves it to the patch v1.37.2.

Tap the pieces in the right order.

…

apply rewrites the office. Danger: take an etcd snapshot before it.

Try it

Now one stall. Drain dev-worker, restart its kubelet, then open it. Pretend the new packages are in.

You are here: cluster kind-dev namespace default
Stalls: 3. Trays: 3 (3 ready). Waiting for a stall: 0.
dev-control-planeOpenManager

No trays here.

dev-workerOpen
  • shop·bww25
  • shop·s2gw9
dev-worker2Open
  • shop·cnnkz
Time: +0s (sped up)

Check

Upgrade night habits. Good idea, or needs work?

Swipe right for good, left for needs work. Or use the buttons.

1 / 4

Take an etcd snapshot before the upgrade

Take an etcd snapshot before the upgrade

You did it!

You can now plan a kubeadm upgrade, one stall at a time.

Go deeper (optional)

Other control-plane nodes and the workers run sudo kubeadm upgrade node instead of apply. kubeadm also renews its certificates on upgrade. It keeps backups under /etc/kubernetes/tmp. Our practice terminal shows a real kubeadm upgrade plan on dev-control-plane. It was recorded on a kind cluster. It can’t run apply.

Real mission

  1. kubectl get nodes
  2. kubeadm version -o short
  3. sudo kubeadm upgrade plan

0 of 3 steps done · Your ticks are saved.