Correct me if I’m wrong but this worked for me.
It’s a little bit simplified than what is in the documentation:
kubectl drain --ignore-daemonsets
sudo apt-mark unhold kubeadm kubelet kubectl &&
sudo apt-get update && sudo apt-get install -y kubeadm=‘1.a.b-x.y’ kubelet=‘1.a.b-x.y’ kubectl=‘1.a.b-x.y’ &&
sudo apt-mark hold kubeadm kubelet kubectl
kubeadm version
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.a.b
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl uncordon
Do the same with the worker nodes