在 Debian 上“升级 Kubernetes”通常分为 kubeadm 集群升级 和 仅客户端工具(kubectl/kubelet)升级 两种情况。下面以 kubeadm 管理的集群 为主说明(最常见场景)。
kubectl version --short
kubeadm version
apt update
apt-cache madison kubeadm
⚠️ 规则:
etcdctl snapshot save snapshot.db
或直接使用集群备份方案(Velero 等)
apt-mark unhold kubeadm
apt update
apt install -y kubeadm=1.30.x-00
apt-mark hold kubeadm
kubeadm upgrade plan
kubeadm upgrade apply v1.30.x
apt-mark unhold kubelet kubectl
apt install -y kubelet=1.30.x-00 kubectl=1.30.x-00
apt-mark hold kubelet kubectl
systemctl restart kubelet
在 Master 上驱逐节点:
kubectl drain <node-name> --ignore-daemonsets
在 Worker 节点上:
apt-mark unhold kubeadm
apt update
apt install -y kubeadm=1.30.x-00
apt-mark hold kubeadm
kubeadm upgrade node
apt-mark unhold kubelet
apt install -y kubelet=1.30.x-00
apt-mark hold kubelet
systemctl restart kubelet
回到 Master:
kubectl uncordon <node-name>
kubectl get nodes
kubectl get pods -n kube-system
如果你只是想更新命令行工具:
apt update
apt install -y kubectl=1.30.x-00
如果你能告诉我:
我可以给你 精确的升级命令。