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
🎉