在 CentOS 上升级 Kubernetes(k8s)集群,一般分为 控制节点(Master) 和 工作节点(Worker) 两部分。下面以 kubeadm 部署的集群 为例(最常见场景)。
kubectl version
kubeadm version
yum list --showduplicates kubeadm --disableexcludes=kubernetes
⚠️ 注意
1.24 → 1.25 → 1.26# 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.26.0-0 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.26.0
yum install -y kubelet-1.26.0-0 kubectl-1.26.0-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
在 Worker 节点 上操作:
yum install -y kubeadm-1.26.0-0 --disableexcludes=kubernetes
kubectl drain <node-name> --ignore-daemonsets
kubeadm upgrade node
yum install -y kubelet-1.26.0-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
ctr version
如果你能告诉我:
我可以直接给你 精确升级命令。