Victor Pacheco:
I have a question Regarding: LIGHTNING LAB – 1 Q1.
Will I be able to have access to Kubernetes documentation during the exam? There is no way to remember all these steps and get the proper syntax correct. Please advice. See breakdown below.
LIGHTNING LAB – 1 Q1.
"Upgrade the current version of kubernetes from 1.19
to 1.20.0
exactly using the kubeadm
utility. Make sure that the upgrade is carried out one node at a time starting with the master node. To minimize downtime, the deployment gold-nginx
should be rescheduled on an alternate node before upgrading each node.
Upgrade controlplane
node first and drain node node01
before upgrading it. Pods for gold-nginx
should run on the controlplane
node subsequently."
In order to get this done. You need to reference external documentation. FYI. I went back to review Section 6 “Cluster Management”. The steps outlined in section 6 are no longer applicable to the above Q1. The versions have changed and the steps have changed. Will I be able to have access to Kubernetes documentation during the exam?
Here the steps to get question 1 done:
Step 1. kubectl drain controlplane --ignore-daemonsets (if needed use --ignore daemonsets)
Note: After the the upgrade you need to uncordon the node: kubectl uncordon controlplane
Step 2. Run an update: apt update
Step 3. Run: kubeadm upgrade plan (did not show 1.20.0)
Note: I had to run the below to pull 1.20.00-00:
apt-get update && apt-get install -y kubeadm=1.20.0-00 && apt-mark hold kubeadm
Step 4: Run: kubeadm upgrade plan
Step 5: kubeadm upgrade apply v1.20.0
Note: After upgrade. Node versions will not change until you update kubelet.
Step 6. apt-get upgrade kubelet=1.20.0-00
Step 7. Restart kubelet: systemctl restart kubelet
Note: Check node version. Master should have v1.20.0
Step 8. Uncordon the master: kubectl uncordon controlplane
Step 9. Drain worker node: kubectl drain node01 --ignore-daemonsets
Note: Nodes will be recreated on the master.
Step 10. Ssh into worker node and update kubelet config:
kubeadm upgrade node config --kubelet-version v1.20.0 (did not work, seems to be deprecated)
Step 11. Ssh into worker node and run apt-get update && apt-get install -y kubeadm=1.20.0-00 && apt-mark hold kubeadm
Step 12. Followed by Kubelet: apt-mark unhold kubelet && apt-get update && apt-get install -y kubelet=1.20.0-00 && apt-mark hold kubelet
Step 13. Restart Kubelet on worker node:
systemctl restart kubelet
Step 14. Uncordon the worker node: kubectl uncordon node01 (edited)