Cluster Upgrade

Versions

vMajor.Minor.Patch semantic versioning

K8S compatibility is as follow : current and n-2 version are supported.

Always upgrade minor to minor releases.

kubeadm

Check latest/upgradable version

kubeadm upgrade plan

Master node upgrade

Drain and mark it at Unschedulable

kubectl drain master

kubectl get nodes to verify that master node is unschedulable

kubeadm update

apt install kubeadm=X.Y.Z-00

kubeadm version to ensure version number

Node update

kubeadm upgrade apply vX.Y.Z

kubectl version to validate

Update kubelet

apt install kubelet=X.Y.Z-00

kubectl get nodes to validate

Mark master node as schedulable

kubectl uncordon master

Worker nodes upgrade

Repeat the same actions done on master for each worker node

🎉