温馨提示×

debian怎样升级k8s版本

小樊
50
2026-10-02 08:43:47
栏目: 智能运维

在 Debian 上升级 Kubernetes(k8s)版本,一般分为 kubeadm 集群升级 和 二进制/手动安装升级 两种情况。下面以 最常见的 kubeadm 方式 说明(Debian 10/11/12 均适用)。


一、升级前准备

1. 查看当前版本

kubectl version
kubeadm version

2. 确认可升级版本

apt update
apt-cache policy kubeadm

⚠️ 注意:

  • 一次只能升级 一个小版本(如 1.28 → 1.29)
  • 不建议跨多个大版本升级

3. 备份(非常重要)

# 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

二、升级控制平面(Master)

1. 升级 kubeadm

apt update
apt install -y kubeadm=1.29.x-00 kubelet=1.29.x-00 kubectl=1.29.x-00

2. 验证升级计划

kubeadm upgrade plan

3. 执行升级

kubeadm upgrade apply v1.29.x

4. 升级 kubelet

systemctl daemon-reload
systemctl restart kubelet

三、升级 Worker 节点

在 每个 Worker 节点 上执行:

1. 驱逐节点(Master 上)

kubectl drain <node-name> --ignore-daemonsets

2. 升级软件

apt update
apt install -y kubeadm=1.29.x-00 kubelet=1.29.x-00

3. 升级节点

kubeadm upgrade node
systemctl restart kubelet

4. 恢复调度

kubectl uncordon <node-name>

四、常见注意事项

  • Container Runtime(containerd / docker)一般不用升级
  • 若使用 containerd,确认版本兼容:
    containerd --version
    
  • 若使用 Calico / Flannel,检查是否需同步升级 CNI 插件

五、非 kubeadm 安装(二进制)

如果是二进制方式:

  1. 下载新版本 kube-apiserver / kube-controller / kube-scheduler / kubelet
  2. 替换 /usr/local/bin
  3. 重启对应 systemd 服务

如果你愿意,可以告诉我:

  • k8s 当前版本
  • 是否用 kubeadm
  • Debian 具体版本

我可以给你 一步步精确命令。

0 踩