温馨提示×

怎样在Debian升级K8s

小樊
39
2026-09-20 14:18:16
栏目: 智能运维

在 Debian 上“升级 K8s”通常有两种场景,下面分别说明。操作前务必先备份 etcd 和集群状态


一、使用 kubeadm 管理的集群(最常见)

适用于通过 kubeadm init 创建的集群。

1. 查阅版本兼容关系

kubeadm upgrade plan

确认可升级目标和兼容性。

2. 升级控制平面(Master)

在所有 Master 节点执行:

# 更新 apt 缓存
sudo apt update

# 查看可用版本
apt-cache policy kubeadm

# 升级 kubeadm
sudo apt install -y kubeadm=1.29.x-00

# 执行升级
sudo kubeadm upgrade apply v1.29.x

# 升级 kubelet & kubectl
sudo apt install -y kubelet=1.29.x-00 kubectl=1.29.x-00

# 重启 kubelet
sudo systemctl daemon-reload
sudo systemctl restart kubelet

3. 升级 Worker 节点

每个 Node 上:

sudo apt install -y kubeadm=1.29.x-00
sudo kubeadm upgrade node

sudo apt install -y kubelet=1.29.x-00 kubectl=1.29.x-00
sudo systemctl restart kubelet

推荐先 kubectl drain 节点,升级完成后再 kubectl uncordon


二、使用 Debian 官方包(非 kubeadm)

如果你是用 Debian 仓库安装的 kubernetes-client 等:

sudo apt update
sudo apt upgrade kubernetes-*

⚠️ 注意:Debian 稳定版通常版本较旧,不建议生产使用。


三、关键注意事项

  • ✅ 一次只升一个 次要版本(如 1.28 → 1.29)
  • ✅ etcd 先备份
  • ✅ 控制平面先升,再升节点
  • ✅ 查看弃用 API(如 kubectl api-resources

四、示例版本命令

kubectl version
kubelet --version

如果你能告诉我:

  • 当前 K8s 版本
  • 是否用 kubeadm
  • 单节点还是多节点

我可以给你精确升级命令

0