Upgrading K8s cluster from (1.20.0-00) to (1.21.0-00) :
==> Login to the master node
==> verify what all kubernetes versiobs are available
sudo apt-cache madison kubeadm
anuj@master:~$ sudo apt-cache madison kubeadm
[sudo] password for anuj:
kubeadm | 1.23.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.23.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.23.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.23.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.23.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.22.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.21.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.20.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.16-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.19.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.20-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.19-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.18-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.17-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.16-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.4-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.18.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.17-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.16-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.7-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.17.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.11-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.16.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.15.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.14.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.13.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.12.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.11.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.10.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.9.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.1-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.0-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.8.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.16-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.15-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.14-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.3-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.7.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.11-01 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.6.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
kubeadm | 1.5.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d1h v1.20.0
worker1 Ready <none> 2d v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$ sudo apt-mark unhold kubeadm
Canceled hold on kubeadm.
anuj@master:~$
anuj@master:~$ sudo apt-get update && apt-get install -y kubeadm=1.21.0-00
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:3 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Hit:1 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Get:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [40.7 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [66.4 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [277 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [2,464 B]
Get:10 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [390 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [940 B]
Get:12 http://us.archive.ubuntu.com/ubuntu focal-backports/main amd64 DEP-11 Metadata [7,980 B]
Get:13 http://us.archive.ubuntu.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [30.8 kB]
Fetched 1,153 kB in 6s (191 kB/s)
Reading package lists... Done
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
anuj@master:~$ sudo su -
root@master:~# apt-get update && apt-get install -y kubeadm=1.21.0-00
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:1 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
kubeadm
1 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
Need to get 8,544 kB of archives.
After this operation, 5,407 kB of additional disk space will be used.
Get:1 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubeadm amd64 1.21.0-00 [8,544 kB]
Fetched 8,544 kB in 4s (2,053 kB/s)
(Reading database ... 186804 files and directories currently installed.)
Preparing to unpack .../kubeadm_1.21.0-00_amd64.deb ...
Unpacking kubeadm (1.21.0-00) over (1.20.0-00) ...
Setting up kubeadm (1.21.0-00) ...
anuj@master:~$
anuj@master:~$ sudo apt-get update && sudo apt-get install -y kubeadm=1.21.0-00
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:1 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
kubeadm is already the newest version (1.21.0-00).
0 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
anuj@master:~$
anuj@master:~$ sudo kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:30:03Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
anuj@master:~$
anuj@master:~$ sudo kubeadm upgrade plan
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.20.15
[upgrade/versions] kubeadm version: v1.21.0
I0315 09:59:32.519547 404118 version.go:254] remote version is much newer: v1.23.4; falling back to: stable-1.21
[upgrade/versions] Target version: v1.21.10
[upgrade/versions] Latest version in the v1.20 series: v1.20.15
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT CURRENT TARGET
kubelet 3 x v1.20.0 v1.21.10
Upgrade to the latest stable version:
COMPONENT CURRENT TARGET
kube-apiserver v1.20.15 v1.21.10
kube-controller-manager v1.20.15 v1.21.10
kube-scheduler v1.20.15 v1.21.10
kube-proxy v1.20.15 v1.21.10
CoreDNS 1.7.0 v1.8.0
etcd 3.4.13-0 3.4.13-0
You can now apply the upgrade by executing the following command:
kubeadm upgrade apply v1.21.10
Note: Before you can perform this upgrade, you have to update kubeadm to v1.21.10.
_____________________________________________________________________
The table below shows the current state of component configs as understood by this version of kubeadm.
Configs that have a "yes" mark in the "MANUAL UPGRADE REQUIRED" column require manual config upgrade or
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
upgrade to is denoted in the "PREFERRED VERSION" column.
API GROUP CURRENT VERSION PREFERRED VERSION MANUAL UPGRADE REQUIRED
kubeproxy.config.k8s.io v1alpha1 v1alpha1 no
kubelet.config.k8s.io v1beta1 v1beta1 no
_____________________________________________________________________
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d1h v1.20.0
worker1 Ready <none> 2d v1.20.0
worker2 Ready <none> 47h v1.20.0
anuj@master:~$
anuj@master:~$
anuj@master:~$ sudo kubeadm upgrade apply v1.21.0
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade/version] You have chosen to change the cluster version to "v1.21.0"
[upgrade/versions] Cluster version: v1.20.15
[upgrade/versions] kubeadm version: v1.21.0
[upgrade/confirm] Are you sure you want to proceed with the upgrade? [y/N]: y
[upgrade/prepull] Pulling images required for setting up a Kubernetes cluster
[upgrade/prepull] This might take a minute or two, depending on the speed of your internet connection
[upgrade/prepull] You can also perform this action in beforehand using 'kubeadm config images pull'
[upgrade/apply] Upgrading your Static Pod-hosted control plane to version "v1.21.0"...
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-controller-manager-master hash: 7b9d15547f45a10df64afe9651db18c2
Static pod: kube-scheduler-master hash: e8f872f9a07112e96e684366d7248982
[upgrade/etcd] Upgrading to TLS for etcd
Static pod: etcd-master hash: b912f9921eea05f92a2fb4d5d7c7856d
[upgrade/staticpods] Preparing for "etcd" upgrade
[upgrade/staticpods] Current and new manifests of etcd are equal, skipping upgrade
[upgrade/etcd] Waiting for etcd to become available
[upgrade/staticpods] Writing new Static Pod manifests to "/etc/kubernetes/tmp/kubeadm-upgraded-manifests436744940"
[upgrade/staticpods] Preparing for "kube-apiserver" upgrade
[upgrade/staticpods] Renewing apiserver certificate
[upgrade/staticpods] Renewing apiserver-kubelet-client certificate
[upgrade/staticpods] Renewing front-proxy-client certificate
[upgrade/staticpods] Renewing apiserver-etcd-client certificate
[upgrade/staticpods] Moved new manifest to "/etc/kubernetes/manifests/kube-apiserver.yaml" and backed up old manifest to "/etc/kubernetes/tmp/kubeadm-backup-manifests-2022-03-15-10-04-04/kube-apiserver.yaml"
[upgrade/staticpods] Waiting for the kubelet to restart the component
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s)
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-apiserver-master hash: 805d76fe9b8bc19ed79f771489348795
Static pod: kube-apiserver-master hash: a6ab49122f8e49f8e42e673e96ed0c2f
[apiclient] Found 1 Pods for label selector component=kube-apiserver
[upgrade/staticpods] Component "kube-apiserver" upgraded successfully!
[upgrade/staticpods] Preparing for "kube-controller-manager" upgrade
[upgrade/staticpods] Renewing controller-manager.conf certificate
[upgrade/staticpods] Moved new manifest to "/etc/kubernetes/manifests/kube-controller-manager.yaml" and backed up old manifest to "/etc/kubernetes/tmp/kubeadm-backup-manifests-2022-03-15-10-04-04/kube-controller-manager.yaml"
[upgrade/staticpods] Waiting for the kubelet to restart the component
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s)
Static pod: kube-controller-manager-master hash: 7b9d15547f45a10df64afe9651db18c2
Static pod: kube-controller-manager-master hash: db5c047f8a5cf9764077734f5f2fe99a
[apiclient] Found 1 Pods for label selector component=kube-controller-manager
[upgrade/staticpods] Component "kube-controller-manager" upgraded successfully!
[upgrade/staticpods] Preparing for "kube-scheduler" upgrade
[upgrade/staticpods] Renewing scheduler.conf certificate
[upgrade/staticpods] Moved new manifest to "/etc/kubernetes/manifests/kube-scheduler.yaml" and backed up old manifest to "/etc/kubernetes/tmp/kubeadm-backup-manifests-2022-03-15-10-04-04/kube-scheduler.yaml"
[upgrade/staticpods] Waiting for the kubelet to restart the component
[upgrade/staticpods] This might take a minute or longer depending on the component/version gap (timeout 5m0s)
Static pod: kube-scheduler-master hash: e8f872f9a07112e96e684366d7248982
Static pod: kube-scheduler-master hash: 98c4dbc724c870519b6f3d945a54b5d4
[apiclient] Found 1 Pods for label selector component=kube-scheduler
[upgrade/staticpods] Component "kube-scheduler" upgraded successfully!
[upgrade/postupgrade] Applying label node-role.kubernetes.io/control-plane='' to Nodes with label node-role.kubernetes.io/master='' (deprecated)
[upgrade/postupgrade] Applying label node.kubernetes.io/exclude-from-external-load-balancers='' to control plane Nodes
[upload-config] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace
[kubelet] Creating a ConfigMap "kubelet-config-1.21" in namespace kube-system with the configuration for the kubelets in the cluster
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to get nodes
[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials
[bootstrap-token] configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token
[bootstrap-token] configured RBAC rules to allow certificate rotation for all node client certificates in the cluster
[addons] Applied essential addon: CoreDNS
[addons] Applied essential addon: kube-proxy
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.21.0". Enjoy!
[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.
anuj@master:~$
anuj@master:~$
anuj@master:~$ Check the node status
^Canuj@master:~$
anuj@master:~$
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d1h v1.20.0
worker1 Ready <none> 2d v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$ kubectl get pod
No resources found in default namespace.
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 2m17s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 2m16s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 4m 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 3m4s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 34s 192.168.159.136 worker1 <none> <none>
kube-proxy-726f5 1/1 Terminating 0 2d 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 88s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 2m55s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 2m23s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 2m22s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 4m6s 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 3m10s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 40s 192.168.159.136 worker1 <none> <none>
kube-proxy-726f5 0/1 Terminating 0 2d 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 94s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 3m1s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 3m7s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 3m6s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 4m50s 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 3m54s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 84s 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 0/1 ContainerCreating 0 10s 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 2m18s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 3m45s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 3m53s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 3m52s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 5m36s 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 4m40s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 2m10s 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 1/1 Running 0 56s 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 3m4s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 4m31s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d1h 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$
anuj@master:~$ kubectl drain k8master --ignore-daemonsets
Error from server (NotFound): nodes "k8master" not found
anuj@master:~$
anuj@master:~$ kubectl drain master --ignore-daemonsets
node/master cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-proxy-zp4jq, kube-system/weave-net-gsfqw
node/master drained
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 4m20s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 4m19s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 6m3s 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 5m7s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 2m37s 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 1/1 Running 0 83s 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 3m31s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 4m58s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d1h 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-q9nl9 1/1 Running 0 4m25s 10.44.0.1 worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Running 0 4m24s 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 2d1h 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 6m8s 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 5m12s 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 2m42s 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 1/1 Running 0 88s 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 3m36s 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 5m3s 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d1h 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready,SchedulingDisabled control-plane,master 2d1h v1.20.0
worker1 Ready <none> 2d v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$
anuj@master:~$ sudo apt-mark unhold kubelet kubect
Canceled hold on kubelet.
E: Unable to locate package kubect
anuj@master:~$
anuj@master:~$ sudo apt-mark unhold kubelet kubectl
kubelet was already not hold.
Canceled hold on kubectl.
anuj@master:~$
anuj@master:~$ sudo apt-get update && sudo apt-get install -y kubelet=1.21.0-00 kubectl=1.21.0-00
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
kubectl kubelet
2 upgraded, 0 newly installed, 0 to remove and 85 not upgraded.
Need to get 27.8 MB of archives.
After this operation, 10.3 MB of additional disk space will be used.
Get:1 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubectl amd64 1.21.0-00 [8,972 kB]
Get:2 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubelet amd64 1.21.0-00 [18.8 MB]
Fetched 27.8 MB in 10s (2,856 kB/s)
(Reading database ... 186804 files and directories currently installed.)
Preparing to unpack .../kubectl_1.21.0-00_amd64.deb ...
Unpacking kubectl (1.21.0-00) over (1.20.0-00) ...
Preparing to unpack .../kubelet_1.21.0-00_amd64.deb ...
Unpacking kubelet (1.21.0-00) over (1.20.0-00) ...
Setting up kubectl (1.21.0-00) ...
Setting up kubelet (1.21.0-00) ...
anuj@master:~$
anuj@master:~$ sudo apt-mark hold kubelet kubectl
kubelet set on hold.
kubectl set on hold.
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready,SchedulingDisabled control-plane,master 2d1h v1.21.0
worker1 Ready <none> 2d1h v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$ sudo systemctl daemon-reload
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready,SchedulingDisabled control-plane,master 2d1h v1.21.0
worker1 Ready <none> 2d1h v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$ sudo systemctl restart kubelet
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready,SchedulingDisabled control-plane,master 2d1h v1.21.0
worker1 Ready <none> 2d1h v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$ sudo systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: active (running) since Tue 2022-03-15 10:17:14 PDT; 42s ago
Docs: https://kubernetes.io/docs/home/
Main PID: 414779 (kubelet)
Tasks: 14 (limit: 3415)
Memory: 35.3M
CGroup: /system.slice/kubelet.service
└─414779 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kuberne>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638175 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638263 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638346 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638449 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638541 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638627 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638715 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638804 414779 reconciler.go:224] "operationExecutor.VerifyControllerAt>
Mar 15 10:17:23 master kubelet[414779]: I0315 10:17:23.638829 414779 reconciler.go:157] "Reconciler: start to sync state"
Mar 15 10:17:24 master kubelet[414779]: I0315 10:17:24.100158 414779 prober_manager.go:255] "Failed to trigger a manual run" >
anuj@master:~$ date
Tue 15 Mar 2022 10:18:06 AM PDT
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready,SchedulingDisabled control-plane,master 2d1h v1.21.0
worker1 Ready <none> 2d1h v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$ kubectl uncordon master
node/master uncordoned
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d1h v1.21.0
worker1 Ready <none> 2d1h v1.20.0
worker2 Ready <none> 2d v1.20.0
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-558bd4d5db-q9nl9 1/1 Running 0 13m
coredns-558bd4d5db-zq9kb 1/1 Running 0 13m
etcd-master 1/1 Running 0 2m59s
kube-apiserver-master 1/1 Running 0 3m59s
kube-controller-manager-master 1/1 Running 0 2m42s
kube-proxy-6gpq2 1/1 Running 0 11m
kube-proxy-x9r7z 1/1 Running 0 10m
kube-proxy-zp4jq 1/1 Running 0 12m
kube-scheduler-master 1/1 Running 0 3m12s
weave-net-grxjs 2/2 Running 1 2d
weave-net-gsfqw 2/2 Running 1 2d1h
weave-net-rsxmg 2/2 Running 1 2d1h
anuj@master:~$
anuj@master:~$
================================= following steps to upgrade Worker node ===================
anuj@worker2:~$ sudo apt-mark unhold kubeadm && \
> sudo apt-get update && sudo apt-get install -y kubeadm=1.21.0-00 && \
> sudo apt-mark hold kubeadm
Canceled hold on kubeadm.
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:1 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
kubeadm is already the newest version (1.21.0-00).
0 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
kubeadm set on hold.
anuj@worker2:~$
anuj@worker2:~$
anuj@worker2:~$ sudo kubeadm upgrade node
[upgrade] Reading configuration from the cluster...
[upgrade] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks
[preflight] Skipping prepull. Not a control plane node.
[upgrade] Skipping phase. Not a control plane node.
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[upgrade] The configuration for this node was successfully updated!
[upgrade] Now you should go ahead and upgrade the kubelet package using your package manager.
anuj@worker2:~$
anuj@worker2:~$
anuj@worker2:~$
anuj@worker2:~$
anuj@worker2:~$
anuj@worker2:~$
=========> Now Login to master node =========
anuj@master:~$ kubectl drain worker2 --ignore-daemonsets
node/worker2 cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-proxy-x9r7z, kube-system/weave-net-grxjs
evicting pod kube-system/coredns-558bd4d5db-zq9kb
evicting pod kube-system/coredns-558bd4d5db-pqp52
pod/coredns-558bd4d5db-zq9kb evicted
pod/coredns-558bd4d5db-pqp52 evicted
node/worker2 evicted
anuj@master:~$
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d2h v1.21.0
worker1 Ready <none> 2d1h v1.21.0
worker2 Ready,SchedulingDisabled <none> 2d v1.21.0
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-pqp52 1/1 Terminating 0 14m 10.36.0.2 worker2 <none> <none>
coredns-558bd4d5db-rb2bv 0/1 ContainerCreating 0 3s <none> worker1 <none> <none>
coredns-558bd4d5db-xrkj5 0/1 ContainerCreating 0 3s <none> worker1 <none> <none>
coredns-558bd4d5db-zq9kb 1/1 Terminating 0 35m 10.36.0.1 worker2 <none> <none>
etcd-master 1/1 Running 0 25m 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 26m 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 25m 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 33m 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 1/1 Running 0 32m 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 34m 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 25m 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d1h 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d1h 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-558bd4d5db-pqp52 0/1 Terminating 0 14m
coredns-558bd4d5db-rb2bv 0/1 ContainerCreating 0 9s
coredns-558bd4d5db-xrkj5 0/1 ContainerCreating 0 9s
coredns-558bd4d5db-zq9kb 0/1 Terminating 0 35m
etcd-master 1/1 Running 0 25m
kube-apiserver-master 1/1 Running 0 26m
kube-controller-manager-master 1/1 Running 0 25m
kube-proxy-6gpq2 1/1 Running 0 33m
kube-proxy-x9r7z 1/1 Running 0 32m
kube-proxy-zp4jq 1/1 Running 0 34m
kube-scheduler-master 1/1 Running 0 25m
weave-net-grxjs 2/2 Running 1 2d
weave-net-gsfqw 2/2 Running 1 2d1h
weave-net-rsxmg 2/2 Running 1 2d1h
anuj@master:~$
===========> login to the worker and Install the kubelet and kubectl version ===========
anuj@worker2:~$ sudo apt-mark unhold kubelet kubectl && \
> sudo apt-get update && sudo apt-get install -y kubelet=1.21.0-00 kubectl=1.21.0-00 && \
> sudo apt-mark hold kubelet kubectl
kubelet was already not hold.
kubectl was already not hold.
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:3 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Get:6 http://security.ubuntu.com/ubuntu focal-security/main i386 Packages [402 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1,317 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/universe i386 Packages [546 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [692 kB]
Fetched 3,071 kB in 10s (313 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
kubectl kubelet
2 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
Need to get 27.8 MB of archives.
After this operation, 10.3 MB of additional disk space will be used.
Get:1 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubectl amd64 1.21.0-00 [8,972 kB]
Get:2 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubelet amd64 1.21.0-00 [18.8 MB]
Fetched 27.8 MB in 6s (4,651 kB/s)
(Reading database ... 186804 files and directories currently installed.)
Preparing to unpack .../kubectl_1.21.0-00_amd64.deb ...
Unpacking kubectl (1.21.0-00) over (1.20.0-00) ...
Preparing to unpack .../kubelet_1.21.0-00_amd64.deb ...
Unpacking kubelet (1.21.0-00) over (1.20.0-00) ...
Setting up kubectl (1.21.0-00) ...
Setting up kubelet (1.21.0-00) ...
kubelet set on hold.
kubectl set on hold.
anuj@worker2:~$
=========================> restart the kubectl =============================
anuj@worker2:~$
anuj@worker2:~$ sudo systemctl daemon-reload; sudo systemctl restart kubelet
anuj@worker2:~$
anuj@worker2:~$
===================> Login to master node and uncordon the worker2 =================
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d2h v1.21.0
worker1 Ready <none> 2d1h v1.21.0
worker2 Ready,SchedulingDisabled <none> 2d v1.21.0
anuj@master:~$ kubectl uncordon worker2
node/worker2 uncordoned
anuj@master:~$
anuj@master:~$ kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-558bd4d5db-rb2bv 1/1 Running 0 2m57s 10.44.0.2 worker1 <none> <none>
coredns-558bd4d5db-xrkj5 1/1 Running 0 2m57s 10.44.0.1 worker1 <none> <none>
etcd-master 1/1 Running 0 28m 192.168.159.135 master <none> <none>
kube-apiserver-master 1/1 Running 0 29m 192.168.159.135 master <none> <none>
kube-controller-manager-master 1/1 Running 0 27m 192.168.159.135 master <none> <none>
kube-proxy-6gpq2 1/1 Running 0 36m 192.168.159.136 worker1 <none> <none>
kube-proxy-x9r7z 1/1 Running 0 35m 192.168.159.137 worker2 <none> <none>
kube-proxy-zp4jq 1/1 Running 0 37m 192.168.159.135 master <none> <none>
kube-scheduler-master 1/1 Running 0 28m 192.168.159.135 master <none> <none>
weave-net-grxjs 2/2 Running 1 2d 192.168.159.137 worker2 <none> <none>
weave-net-gsfqw 2/2 Running 1 2d1h 192.168.159.135 master <none> <none>
weave-net-rsxmg 2/2 Running 1 2d1h 192.168.159.136 worker1 <none> <none>
anuj@master:~$
anuj@master:~$
anuj@master:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 2d2h v1.21.0
worker1 Ready <none> 2d1h v1.21.0
worker2 Ready <none> 2d v1.21.0
anuj@master:~$
anuj@master:~$
=====================================================================
Note:
To upgrade the all worker node please follow the upgrade worker node section for all worke nodes
=====================================================================