在 CentOS 上升级 Kubernetes(k8s)通常分为 控制节点(master) 和 工作节点(node) 两部分。下面以 kubeadm 安装的集群 为例,说明通用升级步骤(适用于 CentOS 7 / 8 / Stream)。
kubectl version
kubelet --version
官方建议 小版本逐个升级(如 1.26 → 1.27 → 1.28),不要跨大版本。
查看可用版本:
yum list --showduplicates kubeadm --disableexcludes=kubernetes
# etcd 数据
etcdctl snapshot save snapshot.db
# 集群资源
kubectl get all -A -o yaml > all.yaml
yum install -y kubeadm-1.28.x-0 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.28.x
yum install -y kubelet-1.28.x-0 kubectl-1.28.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets
yum install -y kubeadm-1.28.x-0 --disableexcludes=kubernetes
kubeadm upgrade node
yum install -y kubelet-1.28.x-0 kubectl-1.28.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
yum install -y yum-utils
uname -r
建议 ≥ 4.18(或升级内核)
如果你能告诉我:
我可以给你 精确到命令的升级方案。