在 CentOS 上升级 Kubernetes(k8s)通常分为 控制平面(Master) 和 工作节点(Node) 两部分。下面以 kubeadm 安装方式 为例,说明标准升级流程(适用于 CentOS 7/8)。
kubectl version
kubeadm version
yum list --showduplicates kubeadm --disableexcludes=kubernetes
⚠️ 一次只能跨一个小版本
例如:1.26 → 1.27 → 1.28
# 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
# 集群资源
kubectl get all --all-namespaces -o yaml > all-resources.yaml
yum install -y kubeadm-1.28.0-0 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.28.0
yum install -y kubelet-1.28.0-0 kubectl-1.28.0-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
yum install -y kubeadm-1.28.0-0 --disableexcludes=kubernetes
kubeadm upgrade node
yum install -y kubelet-1.28.0-0 kubectl-1.28.0-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
yum update 所有 k8s 组件如果你能告诉我:
我可以给你 更精确的升级命令。