API 网关集群迁移
集群迁移是指在保持软件版本不变的情况下,将整个 API7 网关部署从一个基础设施环境迁移到另一个基础设施环境。本指南面向平台工程师和架构师,适用于数据中心迁移、基础设施升级或在不同云服务提供商之间切换等需要零停机迁移的场景。
与版本升级不同,集群迁移侧重于将现有部署平滑地移动到一个新的、并行的环境,而控制面(CP)或数据面(DP)的版本不会改变。该策略的核心是通过备份生产数据库并将其在新的集群中恢复来确保配置和数据的完整性。接着,使用负载均衡器逐步引导流量,从而实现无缝过渡并提供可靠的回滚方案。
这种方法不仅降低了与基础设施变更相关的风险,而且有效避免了常见的潜在问题,比如新的数据面错误地连接到旧的控制面时可能会发生的 mTLS 证书不匹配问题。
迁移工作流
下图展示了零停机时间集群迁移的工作流:
上图展示了完整的迁移工作流。在准备新集群(集群 B)的同时,旧集群(集群 A)继续处理生产环境的流量。一旦新集群被验证且健康状态良好,就可以通过负载均衡器逐步将流量从旧集群切换到新集群。
前置条件
在开始集群迁移之前,请确保满足以下前置条件,以保证迁移过程顺利且成功。
- 新集群(集群 B)的基础设施已全部就绪,包括所有网络、存储和计算资源。
- 新集群已安装与旧集群(集群 A)相同版本的 API7 网关。
- 已为旧数据库和新数据库环境配置并测试数据库备份和恢复工具。
- 已配置可在新旧集群之间管理和分配流量的外部负载均衡器。
- 你具有备份旧集群数据库并将其恢复到新集群所需的管理员权限。
- 已在预发或测试环境中完成迁移演练,以验证流程并识别潜在问题。
迁移步骤
按照以下步骤执行零停机时间集群迁移。该过程经过精心设计,采用循序渐进的方式,并在每个阶段均包含验证检查,以确保过渡安全平稳。
步骤 1:冻结旧集群的配置变更
为了防止迁移过程中的数据不一致,必须在旧集群(集群 A)上实施配置冻结。向你的开发团队宣布维护窗口期,并暂停所有通过 API7 控制台、Admin API 或其他配置管理工具进行的配置变更。
此冻结操作可以确保你创建的数据库备份包含生产配置的完整且静态的快照。备份之后进行的任何变更都不会被迁移到新集群中。