在 CentOS 上升级 Kubernetes(k8s)集群,通常分为 控制节点(Master) 和 工作节点(Worker) 两部分。下面以 kubeadm 部署的集群 为例,说明标准升级流程(这是最常见、官方推荐的方式)。
kubectl version
kubeadm version
yum list --showduplicates kubeadm --disableexcludes=kubernetes
⚠️ 注意:
# etcd 数据备份
ETCDCTL_API=3 etcdctl snapshot save snapshot.db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
yum install -y kubeadm-1.27.x-0 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.27.x
yum install -y kubelet-1.27.x-0 kubectl-1.27.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets
yum install -y kubeadm-1.27.x-0 --disableexcludes=kubernetes
kubeadm upgrade node
yum install -y kubelet-1.27.x-0 kubectl-1.27.x-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
确保所有节点版本一致,状态为 Ready。
升级方式不同:
如果你能提供:
我可以给你 精确的升级命令。