在 Debian 上“更新 Kubernetes(k8s)”通常分为 控制平面节点(master) 和 工作节点(worker) 两部分。下面以 kubeadm 方式安装的集群 为例,说明标准升级流程(最常见场景)。
kubectl version
kubeadm version
访问官方版本说明: https://kubernetes.io/releases/
⚠️ 一次只能跨一个小版本(如 1.28 → 1.29,不能 1.27 → 1.30)
etcdctl snapshot save snapshot.db
或直接使用集群备份方案(Velero 等)
sudo apt update
apt-cache policy kubeadm
sudo apt install -y kubeadm=1.29.0-1.1 kubelet=1.29.0-1.1 kubectl=1.29.0-1.1
版本号格式可能因源不同略有差异
sudo kubeadm upgrade plan
sudo kubeadm upgrade apply v1.29.0
sudo systemctl daemon-reload
sudo systemctl restart kubelet
在每个 worker 节点执行:
sudo apt install -y kubeadm=1.29.0-1.1 kubelet=1.29.0-1.1
sudo kubeadm upgrade node
sudo systemctl restart kubelet
如果是 kubeadm join 的节点,也可以:
kubeadm upgrade node
kubectl get nodes
kubectl get pods -A
所有节点 VERSION 应一致。
手动替换 kube-apiserver / kube-controller-manager 等二进制文件并重启服务
curl -sfL https://get.k3s.io | sh -
sudo snap refresh microk8s --channel=1.29/stable
/var/lib/kubelet/config.yamlkubeadm certs renew如果你能补充:
我可以给你 更精确的升级命令。