温馨提示×

怎样在debian更新k8s

小樊
39
2026-09-02 06:47:52
栏目: 智能运维

在 Debian 上“更新 Kubernetes(k8s)”通常分为 控制平面节点(master)工作节点(worker) 两部分。下面以 kubeadm 方式安装的集群 为例,说明标准升级流程(最常见场景)。


一、升级前准备

1. 查看当前版本

kubectl version
kubeadm version

2. 确认可升级版本

访问官方版本说明: https://kubernetes.io/releases/

⚠️ 一次只能跨一个小版本(如 1.28 → 1.29,不能 1.27 → 1.30)

3. 备份(强烈建议)

etcdctl snapshot save snapshot.db

或直接使用集群备份方案(Velero 等)


二、更新 Debian 上的 kubeadm / kubelet / kubectl

1. 更新 apt 源(如未改)

sudo apt update

2. 查看可用版本

apt-cache policy kubeadm

3. 安装指定版本(示例:1.29.0)

sudo apt install -y kubeadm=1.29.0-1.1 kubelet=1.29.0-1.1 kubectl=1.29.0-1.1

版本号格式可能因源不同略有差异


三、升级控制平面节点(Master)

1. 校验升级计划

sudo kubeadm upgrade plan

2. 执行升级

sudo kubeadm upgrade apply v1.29.0

3. 重启 kubelet

sudo systemctl daemon-reload
sudo systemctl restart kubelet

四、升级工作节点(Worker)

在每个 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 应一致。


六、其他安装方式说明

1. 二进制方式

手动替换 kube-apiserver / kube-controller-manager 等二进制文件并重启服务

2. 使用 k3s / microk8s

  • k3s:
curl -sfL https://get.k3s.io | sh -
  • microk8s:
sudo snap refresh microk8s --channel=1.29/stable

七、常见问题

  • 版本不兼容:确保 containerd / runc 版本满足要求
  • kubelet 起不来:检查 /var/lib/kubelet/config.yaml
  • 证书过期:使用 kubeadm certs renew

如果你能补充:

  • k8s 安装方式(kubeadm / 二进制 / k3s)
  • 当前版本和目标版本
  • 单节点还是多节点

我可以给你 更精确的升级命令

0