双集群升级
你可以使用双集群升级策略来升级 API7 企业版集群。
双集群升级策略会在你现有的生产集群(集群 X)旁边部署一个全新的、平行的集群(集群 Y)。每个集群都是完全独立的,具有各自的控制平面、数据平面和数据库。在升级过程中,禁止通过 API 或继续操作 CP 来修改你的配置。
使用外部负载均衡器将流量逐渐从旧集群转移到新集群。这种升级方法可实现零停机时间并允许即时回滚,如下图所示:
准备工作
- 阅读升级指南并确保你了解整个升级过程是如何执行的。
- 确保你有足够的资源来并行运行两个完整的生产集群。
- 从集群 X(数据库 X)备份你当前的数据。
- 查看升级注意事项。
- 检查当前版本与目标升级版本之间的所有更改。
- 为流量切换准备外部负载均衡器配置。
- 规划流量切换时间表和监控策略。
双集群升级步骤
信息
以下实施步骤仅供参考。实际执行可能会根据你的部署环境而有所不同。
第 1 步:冻结配置更改
宣布配置更改的维护窗口。在整个升级过程中,不要对旧集群(集群 X)上的 API 配置进行任何更改。这对于防止两个集群之间出现不一致至关重要。
- 停止通过集群 X 上的 API 或控制台(Dashboard)进行的所有配置修改。
- 记录所有配置的当前状态以供参考。
第 2 步:部署新集群(集群 Y)
-
提供新数据库(数据库 Y):
- 为集群 Y 设置一个新的数据库实例。
- 确保它具有与数据库 X 相似的足够容量和性能特征。
-
备份和恢复数据库:
- 使用
pg_dump或你首选的备份方法对数据库 X 执行完整备份。 - 使用
pg_restore或你首选的恢复方法将备份恢复到数据库 Y。
- 使用
-
部署新版本的 API7 企业版:
- 根据你的 API7 企业版安装方法(Docker、Kubernetes),部署目标版本的新 API7 企业版集群。
- 配置控制平面(CP B)以连接到数据库 Y。
- 部署数据平面(DP B)节点并配置它们连接到 CP B。
- 更新配置文件中的镜像版本:
api7-ee-dashboard(用于 CP)api7-ee-dp-manager(用于 CP)api7-ee-gateway(用于 DP)
-
启动并验证集群 Y:
- 启动集群 Y 并确保所有组件正常运行。
- 访问 CP B 的控制台(Dashboard)以验证其是否可用。
- 隔离进行全面的功能和性能测试,以确保集群 Y 正常工作。
- 验证数据库 X 的所有配置是否正确加载到集群 Y 中。