LPS:Kubernetes/Upgrade

Z HelpDesk
< LPS:Kubernetes
Verze z 28. 6. 2022, 12:56, kterou vytvořil Honza801 (diskuse | příspěvky) (→‎control nodes)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

tato strankapopisuje upgrade kubernetes nodu

kubernetes

system

master

vypsat nody se systemem a verzi z master nodu

kubectl get no -o wide

vysusit node

kubectl drain <node> --ignore-daemonsets

zkontrolovat, ze uz je SchedulingDisabled

kubectl get no

node

salt-call state.apply
apt upgrade -y


kdyz ti zlobi file.managed z url, muze to byt problem salt cache. soubor se pak z url nerefreshuje, ale pouzije se nacachovana kopie

salt-call saltutil.clear_cache
  • po rebootu
cf-agent -K; apt update -qq; apt upgrade -y

master

kdy je vsechno ok, vrat node do provozu koukej, jeste jede ok (Ready)

kubectl uncordon <node>
kubectl get no

kubernetes

projed si change log

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md

a pak jedeme podle navodu

https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

control nodes

nejdriv na vsech control nodech updateuj repo a upgraduj kubeadm (nezapomen zvolit spravnou verzi)

apt-get update -qq
# control node
apt-mark unhold kubeadm cri-tools
apt-get install -y kubeadm=1.23.8-00
apt-mark hold kubeadm cri-tools

# only on master master node
# kubeadm upgrade plan
# kubeadm upgrade apply v1.22.11

# For the other control plane nodes
kubeadm upgrade node

ted porovnej konfiguraky kube-apiserveru a vhodne presun starou konfiguraci

diff -uar /etc/kubernetes/manifests/ /etc/kubernetes/tmp/kubeadm-backup-manifests-202...

kdyz uz mas na vsech control nodech spravny kubeadm, pokracuj s kubectl/kubelet

# Upgrade kubelet and kubectl
kubectl drain --ignore-daemonsets synergia

apt-mark unhold kubelet kubectl
apt-get install -y kubelet=1.23.8-00 kubectl=1.23.8-00
apt-mark hold kubelet kubectl
systemctl daemon-reload
systemctl restart kubelet

kubectl uncordon synergia
kubectl get nodes

worker nodes

Udelej stejne jako control nody. Muzes vynechat tuning manifestu apiserver/etcd/..., ty jsou jen na control nodech.