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 确认所有节点版本一致,并进行核心功能验证。