一、核心优势
与普通节点的管控层全自动化镜像替换升级不同,注册节点通过注册脚本的 update 命令执行升级,具备以下优势:
·组件级定向热更,不侵入系统:升级过程无需重装或替换整个操作系统镜像,脚本仅精确定位并替换 kubelet、kubectl 等核心云原生组件,最大程度保护节点上原本的第三方代理或自定义系统配置。
·内建全自动防宕机回滚机制:升级前即对当前运行的 kubelet 二进制文件及 Systemd 配置进行深度快照备份。如果新版本组件发生冲突启动失败,脚本将立即中断并自动恢复旧版本状态(restore_kubelet)。
·动态配置自适应:在升级核心组件的同时,脚本会自动侦测节点当前的容器运行时引擎(Containerd / Docker),并重新生成最为匹配新版本 K8s 的启动参数与 Cgroup 驱动配置。
二、升级准备
在执行升级前,请确保你已经通过容器服务控制台完成了集群控制面的版本升级操作,随后即可开始对注册节点(Worker)执行升级。
1. 登录腾讯云 容器服务控制台。
2. 进入目标集群的节点池页面。
3. 进入目标注册节点池中,单击新建节点,获取并复制最新的节点初始化脚本(此时生成的脚本已包含匹配新集群版本的组件下载地址和配置模板)。
三、执行节点升级
1. 登录目标节点
使用 SSH 登录到需要升级的注册节点服务器,并确保具备 root 权限。
2. 执行 update 命令
将获取到的注册脚本(假设保存为 add2tkectl.sh)上传至节点,赋予执行权限后,带上 update 参数执行:
chmod +x add2tkectl.sh./add2tkectl.sh update
3. 观察执行过程
脚本在执行 update 时,将在后台自动执行以下流水线操作,你只需等待其完成:
·自动备份当前 /usr/bin/kubelet 及其服务文件。
·根据节点架构(AMD64 / ARM64)从云端拉取最新的 kubernetes.tgz(包含 kubelet 与 kubectl)。
·停止旧服务并清理旧版残留。
·重新生成 /usr/lib/systemd/system/kubelet.service 及依赖的运行参数环境文件。
·重新拉起 kubelet 服务。
四、验证升级状态
升级命令执行完毕后,可通过以下方式验证升级是否成功:
1. 检查组件运行状态:
在节点上执行检查命令,确保 kubelet 服务处于 (running) 状态:
systemctl status kubelet
2. 控制台版本确认:
返回容器服务控制台,在节点管理列表中核对该节点的 Kubernetes 版本,确认是否已经变更为目标版本。
注意:说明:
注意:若在执行 update 命令后终端提示 kubelet status is error, will restore,代表新版本环境适配失败,脚本已自动将服务恢复至升级前的健康版本,你可以根据日志排查具体报错原因而不用担心节点失联。