跳到主要内容
版本:3.10.x

数据面滚动升级

目标控制面(Control Plane,CP)健康后,滚动升级会替换**数据面(Data Plane,DP)**节点。先添加并验证目标节点,再排空源节点;如果容量、健康检查、负载均衡、连接排空和回滚均配置正确,API 请求就能持续处理。

发布准备

  1. 确认确切的源版本和目标版本。对于 LTS 版本,请使用选择 LTS 升级路径;对于其他版本,请在发布说明或 API7 支持团队方案中确认该版本组合。
  2. 完成并验证目标 CP 升级。确认每个源 DP 都被允许临时连接,并且没有报告 Incompatible 或非预期的兼容性错误。
  3. 记录每个网关组的期望副本数和 Ready 副本数。预留足够容量,以便在排空源节点前添加目标节点。
  4. 验证负载均衡器健康检查、连接排空、就绪探针、流量监控和回滚路径。
  5. 保存源 DP 配置项、清单、证书、镜像标签和不可变的升级前数据库备份。
  6. 从目标 CP 生成目标 DP 配置和证书。从目标软件包默认配置开始,为相应安装方式(DockerKubernetes)构建新的配置项,并固定确切的 api7/api7-ee-3-gateway 镜像。

发布目标数据面

  1. 保持管理写入冻结。除非特定版本路径明确协调了相关变更,否则在仍有源 DP 运行时不要引入仅目标版本支持的配置。
  2. 部署一个独立于生产负载均衡器之外的目标 DP 作为灰度节点。
  3. 等待灰度节点报告 HealthyCompatible,且没有兼容性错误。将代表性的公开和身份认证流量直接发送到该节点,并验证插件、上游、日志、指标和健康检查。
  4. 将生产发布配置为先增后排空的替换顺序。只有编排器管理的滚动更新通过其峰值容量和不可用容量设置保持这一顺序时,才能使用该更新方式。
  5. 向生产发布添加一个目标节点,并等待其达到 Ready、完成注册并通过流量检查。
  6. 将目标节点加入负载均衡器,观察响应码、延迟、日志、上游健康状态以及特定插件的指标。
  7. 只有目标替代节点通过验证后,才能排空并停止一个源节点。
  8. 重复添加、验证和排空操作,直至网关组中的每个节点都完成升级,然后继续处理其余网关组。
  9. 如果目标节点无法安全承载流量,请将其从负载均衡器中移除,并让流量返回保留的源节点。如果已经写入仅目标版本支持的配置,请先按照特定版本路径执行回滚,再使用源 DP。

完成发布

确认每个生产 DP 都报告 HealthyCompatible,且没有错误。运行特定版本路径要求的流量和观察检查;只有主发布通过验收后,才能移除灰度节点并恢复生产自动扩缩策略。

在回滚期限结束前,保留源制品和不可变备份。只有指定的决策负责人记录最终验收结果后,才能恢复通过控制台、Admin API、ADC 和自动化进行的写入。