滚动升级
升级一座集群=逐台替换 worker 进程,raft 保证升级过程中配置与服务不中断。 本页给出机制与当前边界。
机制:guardian 听令的逐台滚动
CP 编排器 → 各节点 guardian 控制口 → guardian 重启本机 worker → 五态上报 → 下一台
- CP 编排器持有滚动序列(G14.5——滚动引擎);
- 逐台向目标节点的 guardian 控制口下发指令(不经 raft——控制线与复制线分离);
- guardian 执行本机 worker 重启窗口,期间以五态上报(含 LKG 拉起态)兜底;
- 编排器确认该节点恢复(
/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 同思想: 先停新、后排旧)。