使用网关组在多环境中管理服务
网关组是一个由一个或多个共享相同配置的网关实例组成的逻辑分组,这些网关实例在处理 API 请求时表现一致。用户可以为网关组命名,并为其添加标签,以此来区分和管理不同的环境和集群。
API7 企业版支持 API 网关
和 Ingress Controller
两种类型的网关组管理,能帮助企业进行环境和集群的隔离,多区域多集群管理,以及根据业务线实现服务级别目标管理。
这篇指南将向你展示如何通过网关组实现在 测试
、UAT
、 生产
三个环境中的服务管理。
背景介绍
为确保服务稳定、合规及数据安全,服务的上线经历多个环境,包括测试环境、UAT 环境和生产环境。在没有多环境管理功能的情况下,研发人员需要部署 3 套独立的 API7 企业版,开发工程师、QA 工程师和运维工程师需要分别登录不同域名下的 API7 企业版控制台,对同一个 API 进行开发、测试和上线,在业务线非常多的情况下,会浪费大量机器和管理资源。
API7 企业版的网关组功能为研发人员提供了一个统一的入口,避免在多控制台中切换,可以实现简单便捷的发布操作,从而提高工作效率并减少操作错误。
前提条件
- 安装 API7 企业版。
- 准备好服务在三个环境内的不同域名:
test.acme.com
、uat.acme.com
、prod.acme.com
。 - 参考新增网关组,创建三个网关组:
测试
、UAT
和生产
,对应测试环境、UAT 环境和生产环境的使用。
在测试环境新增服务和路由
- 从左侧菜单选择
测试
网关组下的已发布服务,然后点击新增服务。 - 选择手动新增。
- 在对话框中,执行以下操作:
- 名称填写
httpbin
。 - 点击 + 添加节点。
- 在对话框中,执行以下操作:
- 主机填写
test.api7.org
。 - 端口填写
80
。 - 点击新增。
- 主机填写
- 名称填写
- 在主机字段中,点击 + 新增。
- 输入
test.acme.com
。
- 输入
- 打开添加第一条路由按钮。
- 在第一个路由对话框中,执行以下操作:
- 名称填写
get-headers
。 - 路径填写
headers
。 - HTTP 方法选择
GET
。 - 点击新增。将创建一个处于“无版本”状态的新服务
httpbin
。
- 名称填写
- 进入上游页面。
- (可选)在连接配置模块中,点击编辑图标。
- (可选)在编辑连接配置对话框中,执行以下操作:
- 传递给上游的 Host 请求头选择
使用上游中指定的 Host
。 - 点击保存。
- 传递给上游的 Host 请求头选择
注意:步骤 8 和 9 是可选的。必须将 *传递给上游的 Host 请求头 参数更改为
使用上游中指定的 Host
,以确保与上游的握手成功。请根据你的用例进行相应的调整。
- 模拟真实用户场景进行功能测试、性能测试和安全测试。