在 Debian 上“升级 Kubernetes 版本”通常分为控制平面(master)和工作节点(node)两部分,而且必须小版本逐级升级(例如 1.26 → 1.27 → 1.28,不能跨大版本)。
下面以 kubeadm 安装方式(最常见)为例说明。
kubectl version
kubeadm version
# 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
Kubernetes 官方源示例:
sudo apt-get update
apt-cache policy kubeadm
sudo apt-get install -y kubeadm=1.29.x-00 kubelet=1.29.x-00 kubectl=1.29.x-00
验证:
kubeadm version
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.29.x
sudo systemctl daemon-reload
sudo systemctl restart kubelet
在每个 node 上操作:
sudo apt-get install -y kubeadm=1.29.x-00
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
sudo kubeadm upgrade node
sudo apt-get install -y kubelet=1.29.x-00 kubectl=1.29.x-00
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl uncordon <node-name>
kubectl get nodes
kubectl version
如果你是用:
curl -sfL https://get.k3s.io | sh -s - --version v1.29.xsudo snap refresh microk8s --channel=1.29/stable如果你能补充:
我可以给你精确命令。