Upgrade control plane
Een kubernetes cluster bestaat uit 2 soorten nodes:
- 1 of meerdere control plane nodes
- meerdere worker nodes
Het upgrade process voor een control plane node verschilt van die van een worker node.
Upgraden van een cluster bestaat uit het updaten van minor versie naar minor versie +1. Er kan geen minor versie worden overgeslagen.
Om een control plane node te updaten volg je de volgende stappen:
1. stoppen van de kube-apiserver
killall -s SIGTERM kube-apiserver
2. Updaten van kubeadm
edit /etc/apt/sources.list.d/kubernetes.list
update version number naar next minor
sudo apt-mark unhold kubeadm
sudo apt update
sudo apt install -y kubeadm
sudo apt-mark hold kubeadm
3. inventariseren welke versie naartoe kan worden geupgrade
sudo kubeadm upgrade plan
4. drain de node (geldt bij iedere node)
kubectl drain node --ignore-daemonsets --delete-emptydir-data
5. apply de upgrade op de eerste node in het cluster
sudo kubeadm upgrade apply v1.31.x
Iedere volgende node (zowel control plane als worker nodes) kan worden geupgrade met:
sudo kubeadm upgrade node
6. Wanneer de upgrade van de eerste control plane klaar is, kan kubectl en kubelet worden geupgrade
sudo apt-mark unhold kubelet kubectl
sudo apt install -y kubelet='1.31.8-*' kubectl='1.31.8-*'
sudo apt-mark hold kubelet kubectl
7. daarna de kubelet service herstarten
sudo systemctl daemon-reload
sudo systemctl restart kubelet
8. Vervolgens de node weer vrijgeven
kubectl uncordon node
Bovenstaande stappen kunnen uiteraard ook in de online documentatie worden gevonden op: kubeadm cluster upgrade
Na de upgrade van de eerste control plane moet mogelijk ook de CNI plugin worden bijgewerkt.
No Comments