Debian如何更新Kubernetes版本安装
导读:在 Debian 上更新或安装指定版本的 Kubernetes 一 准备与版本选择 备份关键数据与配置:建议备份 /etc/kubernetes/、/var/lib/etcd/,并使用 etcdctl 进行快照;同时确认集群当前状态健康。...
在 Debian 上更新或安装指定版本的 Kubernetes
一 准备与版本选择
- 备份关键数据与配置:建议备份 /etc/kubernetes/、/var/lib/etcd/,并使用 etcdctl 进行快照;同时确认集群当前状态健康。升级前阅读目标版本的发行说明与变更。
- 升级顺序与兼容性:遵循 kubeadm 升级指南 的版本路径,通常要求在同一 小版本内逐级升级(例如从 v1.28.x → v1.29.x → v1.30.x),避免跨多个小版本;升级前确保网络插件、存储插件与集群内组件均支持目标版本。
- 系统与容器运行时:保持 Debian 系统与容器运行时(如 containerd)为稳定版本;确保 swap 已禁用,并满足 kubelet 运行要求。
二 安装指定版本(全新安装或重装场景)
- 添加 Kubernetes APT 仓库(Debian 12 示例):
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/kubernetes-archive-keyring.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt update - 安装指定版本(将 1.30.x 替换为你的目标版本):
KVER=1.30.0-1.1 sudo apt-get update sudo apt-get install -y kubelet=${ KVER} kubeadm=${ KVER} kubectl=${ KVER} sudo apt-mark hold kubelet kubeadm kubectl - 初始化或加入集群(示例):
# 仅在全新初始化时执行 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # 工作节点加入(使用 kubeadm init 输出的 join 命令) sudo kubeadm join < control-plane-host> :< port> --token < token> --discovery-token-ca-cert-hash sha256:< hash> - 验证:
kubectl version --short kubectl get nodes
说明:上述仓库条目中的 xenial 是 Kubernetes APT 仓库的发行代号,并非 Debian 版本;安装后使用 apt-mark hold 防止组件被意外升级。
三 就地升级集群(已存在集群)
- 控制平面节点
- 检查升级计划并升级控制平面:
sudo kubeadm upgrade plan sudo kubeadm upgrade apply v1.30.0 - 腾空节点并升级 kubelet/kubectl(保持与 kubeadm 一致的小版本):
kubectl drain < master-node> --ignore-daemonsets sudo apt-get update sudo apt-get install -y kubelet=1.30.0-1.1 kubectl=1.30.0-1.1 sudo systemctl daemon-reload sudo systemctl restart kubelet kubectl uncordon < master-node>
- 检查升级计划并升级控制平面:
- 工作节点
- 逐台升级,先腾空:
kubectl drain < worker-node> --ignore-daemonsets - 升级 kubelet/kubectl 并重启:
sudo apt-get update sudo apt-get install -y kubelet=1.30.0-1.1 kubectl=1.30.0-1.1 sudo systemctl daemon-reload sudo systemctl restart kubelet kubectl uncordon < worker-node>
- 逐台升级,先腾空:
- 验证:
kubectl version --short kubectl get nodes kubectl get pods -A
要点:升级期间保持 单主节点可调度 或合理安排控制平面维护窗口;升级完成后逐一恢复节点调度。
四 常见问题与注意事项
- 版本锁定:为避免误升级,安装后用 apt-mark hold kubelet kubeadm kubectl 固定版本;升级完成再按需解除。
- 组件一致性:确保 kubelet、kubeadm、kubectl 与控制平面镜像版本一致或兼容;升级后使用 kubectl version --short 与 kubectl get nodes 校验。
- 网络与插件:升级前后确认 CNI 网络插件 与 存储插件 已支持目标版本;升级期间建议暂停可能影响稳定性的变更。
- 生产建议:先在测试环境验证,再滚动升级节点,全程关注监控与日志,出现异常及时回滚或扩容维护窗口。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何更新Kubernetes版本安装
本文地址: https://pptw.com/jishu/771521.html
