在 Debian 上“升级 K8s 版本”通常包含两部分含义,需要区分清楚:
下面分别说明,生产环境务必先在测试环境验证。
Kubernetes 不支持跨多个 minor 版本升级,必须逐个 minor 版本升级(例如 1.26 → 1.27 → 1.28)。
kubectl get nodes
kubectl version --short
确认:
备份:
etcdctl snapshot save snapshot.db
sudo apt update
apt-cache policy kubeadm
sudo apt install kubeadm=1.27.x-00
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.27.x
sudo apt install kubelet=1.27.x-00 kubectl=1.27.x-00
sudo systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets
sudo apt install kubeadm=1.27.x-00
sudo kubeadm upgrade node
sudo apt install kubelet=1.27.x-00 kubectl=1.27.x-00
sudo systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version --short
⚠️ 不建议直接升级运行 K8s 的节点系统版本,推荐:
如果必须升级:
sudo apt update
sudo apt full-upgrade
注意:
kubeadm 管理的集群才适用上述流程如果你能提供:
我可以给你更精确的升级命令。