在 CentOS 上升级 Kubernetes(k8s) 版本,通常分为 规划 → 升级控制平面 → 升级 Node → 验证 几个阶段。下面给你一套通用、稳妥的升级流程(适用于 kubeadm 部署的集群)。
kubectl version
kubeadm version
yum list --showduplicates kubeadm --disableexcludes=kubernetes
✅ 必须看:
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
⚠️ 注意:
1.24 → 1.25 ✅,1.24 → 1.26 ❌假设从
1.24.x升级到1.25.x
yum install -y kubeadm-1.25.x-0 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.25.x
yum install -y kubelet-1.25.x-0 kubectl-1.25.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets
yum install -y kubeadm-1.25.x-0 --disableexcludes=kubernetes
kubeadm upgrade node
yum install -y kubelet-1.25.x-0 kubectl-1.25.x-0 --disableexcludes=kubernetes
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
确认:
Readycp -r /etc/kubernetes /etc/kubernetes.bak
etcdctl snapshot save
| 部署方式 | 升级方式 |
|---|---|
| kubeadm | 以上流程 |
| 二进制 | 手动替换二进制 |
| Rancher / k3s | 使用对应工具升级 |
✅ 先升级 测试集群
✅ 控制平面 → Node 逐个升级
✅ 业务低峰期操作
✅ 提前备份 etcd
如果你愿意,可以告诉我:
我可以给你 精确到命令的升级方案 ✅