必须先标记节点为不可调度并驱逐Pod,再升级kubeadm和kubelet;否则会中断关键系统容器,导致API Server不可用或etcd通信异常。

在Ubuntu节点上升级kubeadm和kubelet组件,必须先确保节点处于不可调度状态并驱逐所有Pod,否则升级过程会中断正在运行的关键系统容器,导致API Server不可用或etcd通信异常。
准备工作:隔离节点
执行以下命令将节点设为不可调度,阻止新Pod被调度到该节点:
kubectl cordon 【节点主机名】
接着驱逐该节点上所有可迁移的Pod(保留DaemonSet管理的Pod):
kubectl drain 【节点主机名】 --ignore-daemonsets --delete-emptydir-data --force
注意:如果节点是控制平面节点,此操作会驱逐coredns、etcd等关键Pod;若为工作节点,则仅影响业务Pod。驱逐失败时需检查Pod是否设置了PDB策略或存在本地存储卷。
升级kubeadm组件
方法一:使用apt直接安装指定版本(推荐)
先解除kubeadm版本锁定,再更新源并安装目标版本:
sudo apt-mark unhold kubeadm && sudo apt-get update && sudo apt-get install -y kubeadm=1.33.0-00 && sudo apt-mark hold kubeadm
方法二:验证下载是否成功且版本匹配
运行 kubeadm version 确认输出中 GitVersion 显示为 v1.33.0;若仍显示旧版本,说明未生效,需检查 /var/lib/dpkg/status 中 kubeadm 条目是否被正确覆盖。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
执行集群控制平面升级
第一步:查看升级计划,确认当前版本与目标版本兼容性及etcd升级建议
kubeadm upgrade plan v1.33.0
第二步:应用升级,跳过etcd自动升级(生产环境应单独管理etcd)
sudo kubeadm upgrade apply v1.33.0 --etcd-upgrade=false
这一步会重启API Server、Controller Manager、Scheduler等静态Pod,耗时约60~120秒;期间kubectl get nodes 可能短暂报错,属正常现象。
同步升级kubelet和kubectl
升级完kubeadm后,必须同步升级kubelet和kubectl至相同小版本,否则组件间gRPC协议不兼容会导致kubelet无法注册或心跳丢失:
sudo apt-mark unhold kubelet kubectl && sudo apt-get update && sudo apt-get install -y kubelet=1.33.0-00 kubectl=1.33.0-00 && sudo apt-mark hold kubelet kubectl
升级完成后立即重载systemd配置并重启服务:
sudo systemctl daemon-reload && sudo systemctl restart kubelet
恢复节点调度能力
确认节点状态已变为 Ready 且所有系统Pod运行正常后,执行:
kubectl uncordon 【节点主机名】

















