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

网关组

网关组由共享同一配置的 API7 网关数据面实例组成,是发布服务和应用全局规则的目标。

网关组如何工作​

部署 API7 网关时,将每个数据面实例分配给一个网关组。控制面会将相关配置推送到组内的所有实例。

网关组包含以下资源:

  • 已发布服务:在该网关组中生效的服务版本。
  • 全局规则:应用于该网关组处理的每个请求的插件,例如集中式日志记录或全局限流。
  • SSL 证书:分配给该网关组、用于 TLS 终止的证书。
  • 消费者:在该网关组中获得授权的身份和凭证。

配置字段​

以下字段用于定义网关组:

  • 名称:网关组的描述性名称,例如 us-east-prod。
  • 类型:
    • api7_gateway:标准 API7 网关组。
    • api7_ingress_controller:通过 Kubernetes Ingress 或 Gateway API 管理的网关组。
  • Enforce Service Publishing:启用时,所有服务变更都必须经过正式的服务模板、服务版本和发布流程。禁用时,变更可以直接应用到线上配置(不建议在生产环境中使用)。
  • 控制面键前缀:数据面获取配置所用的唯一路径,例如 /gateway_groups/us-west-1。
  • 镜像标签:该网关组的数据面使用的镜像版本。

使用场景​

网关组对于管理多环境和多区域部署至关重要:

  • 环境隔离:为 development、staging 和 production 创建独立网关组。在预发布环境验证配置,再将同一服务版本发布到生产环境。
  • 地域部署:在不同地域部署网关组,例如 aws-us-east-1 和 aws-eu-central-1,并由一个全局控制面统一管理。
  • 租户隔离:为特定业务部门或高优先级客户分配专用网关组,以隔离资源并实施专门的策略。

发布流程​

修改配置后,配置不会立即推送到网关组。API7 网关采用版本化发布模式:

  1. 服务模板:定义路由、上游和插件等基础配置。
  2. 服务版本:创建服务模板的快照。
  3. 发布:将指定版本部署到目标网关组。

该流程会保留变更记录,便于按需回滚到之前的版本。

后续步骤​