温馨提示×

CentOS怎么升级K8s版本

小樊
35
2026-08-20 01:23:23
栏目: 智能运维

CentOS 上升级 Kubernetes(k8s) 版本,通常分为 规划 → 升级控制平面 → 升级 Node → 验证 几个阶段。下面给你一套通用、稳妥的升级流程(适用于 kubeadm 部署的集群)


一、升级前的准备(非常重要)

1. 确认当前版本

kubectl version
kubeadm version

2. 查看可升级版本

yum list --showduplicates kubeadm --disableexcludes=kubernetes

3. 查阅官方升级说明

必须看
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

⚠️ 注意:

  • 不能跨多个 minor 版本升级
  • 例如:1.24 → 1.25 ✅1.24 → 1.26 ❌

二、升级控制平面(Master 节点)

假设从 1.24.x 升级到 1.25.x

1. 升级 kubeadm

yum install -y kubeadm-1.25.x-0 --disableexcludes=kubernetes

2. 验证升级计划

kubeadm upgrade plan

3. 执行升级

kubeadm upgrade apply v1.25.x

4. 升级 kubelet 和 kubectl

yum install -y kubelet-1.25.x-0 kubectl-1.25.x-0 --disableexcludes=kubernetes

5. 重启 kubelet

systemctl daemon-reload
systemctl restart kubelet

三、升级 Worker 节点(Node)

1. 驱逐节点(在 master 执行)

kubectl drain <node-name> --ignore-daemonsets

2. 升级 kubeadm

yum install -y kubeadm-1.25.x-0 --disableexcludes=kubernetes

3. 升级节点

kubeadm upgrade node

4. 升级 kubelet / kubectl

yum install -y kubelet-1.25.x-0 kubectl-1.25.x-0 --disableexcludes=kubernetes
systemctl restart kubelet

5. 恢复节点调度

kubectl uncordon <node-name>

四、验证升级结果

kubectl get nodes
kubectl version

确认:

  • 所有节点版本一致
  • 状态为 Ready

五、常见问题

1. CentOS 7 注意事项

  • Docker / containerd 版本需匹配
  • 内核建议 ≥ 4.x
  • CentOS 7 已 EOL,建议迁移到 Rocky / Alma / RHEL 9

2. 升级失败回滚

  • kubeadm 不支持自动回滚
  • 需提前备份:
cp -r /etc/kubernetes /etc/kubernetes.bak
etcdctl snapshot save

六、非 kubeadm 部署的情况

部署方式 升级方式
kubeadm 以上流程
二进制 手动替换二进制
Rancher / k3s 使用对应工具升级

七、推荐升级策略(生产环境)

✅ 先升级 测试集群
✅ 控制平面 → Node 逐个升级
✅ 业务低峰期操作
✅ 提前备份 etcd


如果你愿意,可以告诉我:

  • ✅ Kubernetes 当前版本
  • ✅ 目标版本
  • ✅ 部署方式(kubeadm / 二进制 / Rancher)
  • ✅ CentOS 版本(7 / 8 / Stream)

我可以给你 精确到命令的升级方案

0