Auch wenn es mir manchmal so scheint, als wäre es nicht mehr üblich, so versuche ich die Software in meinem Lager aktuell zu halten. Allein schon um mir keine Sorgen machen zu müssen, wenn es mal in Richtung Sicherheit geht.
Bei so Funky-Software-Products wie Kubernetes ist es um so wichtiger - ansonsten hat man richtig Arbeit, wenn es mal wirklich sein muss.
In vorausgesetzt man hat genug Platz auf / kann man auf einem CentOS wie folgt ein Upgrade von zum Beispiel 1.13.x auf 1.14.x durchführen:
yum clean all
yum makecache
yum list --showduplicates kubeadm --disableexcludes=kubernetes
**Hier sucht man sich die aktuellste Version heraus**
yum install -y kubeadm-**1.14.1-0** --disableexcludes=kubernetes
kubeadm upgrade plan
**Nun bekommt man gesagt, was man tun muss**
kubeadm upgrade apply v1.14.1
systemctl daemon-reload
systemctl restart kubelet
Wenn man dann irgendwann
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.14.1". Enjoy!
auf dem Schirm hat ist schon die Hälfte gewonnen. Mal sollte nun natürlich noch schauen, dass man seine restlichen Komponenten aktuell hält:
yum install -y kubelet-1.14.1-0 kubectl-1.14.1-0 --disableexcludes=kubernetes
Jetzt geht es weiter bei den Minions.
yum clean all
yum makecache
yum install -y kubeadm-1.14.1-0 --disableexcludes=kubernetes
kubeadm upgrade node config --kubelet-version v1.14.1
yum install -y kubelet-1.14.1-0 kubectl-1.14.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
Kontrolle ist besser als Vertrauen. Daher auf einem Knoten das folgende Kommando ausführen:
kubectl get nodes
und hoffen das nirgends ein NotReady steht... Ansonsten ist dann wohl alles getan.
Wenn man mehrer Knoten hat und keinen Bock verspürt ein Ansible Skript zu bauen, dann kann man super ClusterSSH nutzen und sich ein bischen mehr wie ein Operator fühlen.
Quellen und Links: