温馨提示×

centos部署k8s如何升级

小樊
39
2026-07-21 08:17:25
栏目: 智能运维

CentOS 上升级 Kubernetes(k8s) 需要分 场景版本情况。下面我先给你一个 通用、安全、生产可用的升级流程,再补充 常见问题和注意事项


一、升级前准备(必须)

1️⃣ 查看当前版本

kubectl version
kubeadm version

2️⃣ 确认可升级版本

yum list --showduplicates kubeadm --disableexcludes=kubernetes

✅ 推荐升级策略:
逐个 minor 版本升级,例如 1.26 → 1.27 → 1.28


3️⃣ 备份(非常重要)

cp -r /etc/kubernetes /etc/kubernetes.bak
etcdctl snapshot save /backup/etcd-snapshot.db

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

1️⃣ 升级 kubeadm

yum install -y kubeadm-1.28.x-0 --disableexcludes=kubernetes
kubeadm version

2️⃣ 验证升级计划

kubeadm upgrade plan

确认输出中显示的版本。


3️⃣ 执行升级

kubeadm upgrade apply v1.28.x

或(多 master):

kubeadm upgrade node

4️⃣ 升级 kubelet & kubectl

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

重启 kubelet:

systemctl daemon-reexec
systemctl restart kubelet

三、升级 Worker 节点

1️⃣ 驱逐节点(在 master 执行)

kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data

2️⃣ 升级 kubeadm

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

3️⃣ 升级节点

kubeadm upgrade node

4️⃣ 升级 kubelet & kubectl

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

5️⃣ 恢复调度

kubectl uncordon <node-name>

四、验证升级结果

kubectl get nodes
kubectl version

所有节点版本应一致。


五、CentOS 特有注意事项

✅ CentOS 7(已 EOL)

  • 官方源已停止维护
  • 建议:
    • 迁移到 Rocky / Alma / CentOS Stream
    • 或保留私有 yum 源

✅ CentOS 8 / Stream

  • 使用官方 Kubernetes repo:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
EOF

六、常见错误 & 解决方案

❌ 1. kubeadm upgrade plan 卡住

✅ 检查:

systemctl status kubelet
journalctl -xeu kubelet

❌ 2. 节点 NotReady

常见原因:

  • CNI(Calico / Flannel)未升级
  • kubelet 未重启

❌ 3. etcd 升级失败

✅ 不要手动升级 etcd,由 kubeadm 控制


七、推荐升级路径(2026 年)

当前版本 建议目标
1.20–1.24 1.28 LTS
1.25–1.27 1.29 / 1.30
CentOS 7 迁移 OS

八、我可以继续帮你

你可以直接告诉我:

  1. ✅ 当前 k8s 版本
  2. ✅ CentOS 版本
  3. ✅ 单 master 还是多 master
  4. ✅ 是否生产环境

我可以给你 定制升级方案 + 回滚方案

0