在 Debian 上“升级已部署的 Kubernetes(k8s)集群”,通常指 kubeadm 部署的集群。下面按标准、安全、可控的流程说明。
kubectl version
kubeadm version
apt update
apt-cache policy kubeadm
⚠️ K8s 不支持跨多个大版本升级
例如:1.26 → 1.27 → 1.28(每次只能 +1)
# 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
apt update
apt install -y kubeadm=1.28.x-00 kubelet=1.28.x-00 kubectl=1.28.x-00
kubeadm upgrade plan
kubeadm upgrade apply v1.28.x
systemctl daemon-reload
systemctl restart kubelet
kubectl drain <node-name> --ignore-daemonsets
apt update
apt install -y kubeadm=1.28.x-00 kubelet=1.28.x-00
kubeadm upgrade node
systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl get pods -A
curl -sfL https://get.k3s.io | sh -
✅ 可以
1.27 → 1.28 → 1.29 → 1.30
如果你能告诉我:
我可以给你精确命令版本。