Debian上Kubernetes版本升级实操指南
一 升级前准备与版本路径
- 备份关键数据与配置:优先备份 /etc/kubernetes/ 与 etcd(如使用外部 etcd,建议用 etcdctl 做快照),以便回滚。检查集群健康:kubectl get nodes、kubectl get pods -A 均为正常,控制面组件 Pod 为 Running。确认升级路径:仅支持相邻小版本递进(如 1.28 → 1.29),不可跨多个大版本;kubectl 与集群版本差距不应超过 1 个次要版本。环境要求:已禁用 Swap,系统时间同步,容器运行时与网络/存储插件与目标版本兼容。kubeadm 升级时会自动处理控制面临时证书的续期(可通过 –certificate-renewal=false 关闭)。
二 使用 kubeadm 的标准升级流程(Debian 包管理)
- 在所有节点准备新版本包:查看可用版本并固定目标版本
- apt update
- apt-cache policy kubeadm
- apt-mark unhold kubeadm && apt-get install -y kubeadm=1.29.x-00 && apt-mark hold kubeadm
- 升级第一个控制平面节点
- 检查升级计划:kubeadm upgrade plan
- 执行升级:sudo kubeadm upgrade apply v1.29.x(如需跳过证书续期:–certificate-renewal=false)
- 升级其余控制平面节点
- 在每个控制面节点:sudo kubeadm upgrade node
- 升级 kubelet 与 kubectl(所有节点)
- apt-mark unhold kubelet kubectl && apt-get install -y kubelet=1.29.x-00 kubectl=1.29.x-00 && apt-mark hold kubelet kubectl
- systemctl daemon-reload && systemctl restart kubelet
- 逐节点腾空、升级、恢复
- 驱逐:kubectl drain –ignore-daemonsets
- 升级 kubeadm/kubelet/kubectl 并重启 kubelet(同上)
- 恢复:kubectl uncordon
- 升级 CNI 插件与其他扩展
- 按所用网络插件(如 Calico/Flannel/Cilium)官方说明执行升级;若以 DaemonSet 部署,通常在首个控制面升级后自动更新,其余控制面无需重复。其他组件(如 Ingress Controller、Dashboard、Metrics Server、CSI)需检查与目标 K8s 版本的兼容性后再升级。
三 就地二进制替换升级方案(不依赖 apt,适用于特殊场景)
- 适用前提:无法立即通过仓库升级或需快速回滚二进制。流程要点:
- 在每个节点下载并替换二进制:kubeadm、kubelet、kubectl(示例:wget https://dl.k8s.io/release/v1.29.10/bin/linux/amd64/{kubeadm,kubelet,kubectl};chmod +x;mv 至 /usr/local/bin)
- 控制平面节点:先 kubeadm version 校验,再执行 kubeadm upgrade plan 与 kubeadm upgrade apply v1.29.10
- 逐节点 drain → 重启 kubelet(systemctl daemon-reload && systemctl restart kubelet)→ uncordon
- 注意:证书续期、配置漂移与回滚策略需自行把控,生产环境优先使用包管理升级。
四 升级后验证与回滚要点
- 验证:kubectl version –short、kubectl get nodes(均为 Ready)、kubectl get pods -A(无 CrashLoopBackOff/Error)、组件日志(journalctl -u kubelet -f)。如升级涉及 API 废弃/变更,按版本说明调整清单与代码。回滚:优先使用 kubeadm 的回滚能力(如 kubeadm upgrade rollback),若采用二进制替换方案,按备份的二进制与配置恢复;etcd 快照可用于灾难恢复。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1483899.html