Kubernetes 版本升级是集群运维中风险较高的操作,本文基于实际生产环境升级经验,整理出可复用的升级流程与检查清单。
1. 升级前准备
首先确认当前集群状态,备份 etcd 和重要资源清单。使用 kubectl get nodes 检查所有节点状态。
已复制
# 检查节点状态
kubectl get nodes
# 备份 etcd
ETCDCTL_API=3 etcdctl snapshot save snapshot.db
2. 控制平面升级
按照 kubeadm 升级流程,先升级控制平面节点,再逐个升级工作节点。
已复制
sudo apt update && sudo apt install -y kubeadm=1.28.0-00
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.28.0
⚠️ 注意:升级前请务必阅读官方 changelog,确认是否有 API 废弃或行为变更。
3. 工作节点升级
逐台节点进行 drain 和升级,保证业务 Pod 平滑迁移。
已复制
kubectl drain node-1 --ignore-daemonsets
sudo apt install -y kubelet=1.28.0-00
sudo systemctl restart kubelet
kubectl uncordon node-1
升级完成后,建议运行 kubectl get nodes 确认所有节点版本一致,并进行核心功能验证。