Detalhamento do processo de upgrade de cluster com kubeadm para o CKS.
A atualização de um cluster kubeadm segue uma ordem definida: primeiro o control plane (primeiro nó de controle), depois os demais nós de controle (se houver) e por fim os workers. Em cada nó é preciso: drenar o nó, atualizar kubeadm/kubelet/kubectl (ou só kubelet nos workers), aplicar o upgrade quando for o primeiro control plane, e fazer uncordon.
# 1. Drenar o nó (evita novos pods; remove workloads evictáveis)
kubectl drain <control-plane-node> --ignore-daemonsets
# 2. Planejar e aplicar upgrade (no nó de controle)
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.32.1
# 3. Atualizar kubelet e kubectl (versão alinhada ao plano)
sudo apt install kubelet=1.32.1-1.1 kubectl=1.32.1-1.1
sudo apt-mark hold kubelet kubectl
# 4. Reiniciar kubelet
sudo systemctl restart kubelet
# 5. Repermitir agendamento no nó
kubectl uncordon <control-plane-node>
kubeadm upgrade node (ver docs).# 1. Drenar (a partir de um nó com kubectl configurado)
kubectl drain <worker-node> --ignore-daemonsets
# 2. No próprio worker: atualizar kubeadm (se necessário) e kubelet
sudo apt install kubeadm=1.32.1-1.1 kubelet=1.32.1-1.1 kubectl=1.32.1-1.1
# ou só kubelet/kubectl se kubeadm já estiver na versão desejada
sudo kubeadm upgrade node # aplica configuração do cluster no nó
# 3. Segurar upgrades automáticos
sudo apt-mark hold kubelet kubectl kubeadm
# 4. Reiniciar kubelet
sudo systemctl restart kubelet
# 5. Uncordon (a partir de um nó com kubectl)
kubectl uncordon <worker-node>
A ordem correta (control plane primeiro, depois workers) e os comandos exatos podem variar conforme a versão; consulte a documentação do kubeadm para a versão alvo.