Table of Contents

滚动升级

升级一座集群=逐台替换 worker 进程,raft 保证升级过程中配置与服务不中断。 本页给出机制与当前边界。

机制:guardian 听令的逐台滚动

CP 编排器 → 各节点 guardian 控制口 → guardian 重启本机 worker → 五态上报 → 下一台
  1. CP 编排器持有滚动序列(G14.5——滚动引擎);
  2. 逐台向目标节点的 guardian 控制口下发指令(不经 raft——控制线与复制线分离);
  3. guardian 执行本机 worker 重启窗口,期间以五态上报(含 LKG 拉起态)兜底;
  4. 编排器确认该节点恢复(/readyz 双确认)后推进下一台。

升级窗口内的安全网:

  • worker 起不来 → guardian 按版本仓 LKG(最后已知良好配置)反复拉起——坏包不会永久瘫节点;
  • DP 节点重启窗口由其余 DP 承接流量(无状态进程+raft 复制态,重启即追平);
  • Voter 节点逐台重启不损多数派(3 Voter 升级期间恒有 ≥2 在场)。

发布与升级的分工

动作 走哪条路 影响
配置变更 publish go(七阶段·热装载) 不停机、不断连
程序版本升级 guardian 滚动(替换二进制) 逐台重启窗口

配置变更不需要升级——热装载是一切配置生效的唯一通道;升级只发生在换二进制时。

当前边界(如实注记)

滚动升级的版本协商(新旧版本节点间的产物兼容性协商协议)尚未实现: 跨版本的集群态发布以产物格式版本兼容为前提(artifact-format-spec 冻结的 兼容窗口内)。跨大版本升级先滚动 CP、再滚动 DP,并在预发环境验证产物兼容性。 此能力随后续版本补齐(master plan §6 挂起项)。

操作入口

traffic-guardian upgrade                # 单节点听令执行
traffic-guardian worker restart         # 单 worker 重启(带确认)
traffic-guardian worker drain           # 排水(停止收新连接,存量排空)

排水语义见集群与目标(目标级 drain 与节点级 drain 同思想: 先停新、后排旧)。