使用服务发现配置上游
与直接配置上游不同,你可以使用如 Consul、Eureka、Nacos 或 Kubernetes 服务发现(Service Discovery)等服务发现机制来动态探测上游节点。
信息
服务(Service)一旦发布,便无法直接在已配置的上游节点和服务发现之间切换。你必须通过金丝雀发布来配置。
前提条件
- 安装 API7 企业版。
- 网关组中至少包含一个网关实例。
Kubernetes
添加服务注册中心连接
- 从侧边导航栏选择你的网关组下的 服务注册中心(Service Registries),然后点击 添加服务注册中心连接(Add Service Registry Connection)。
- 在对话框中,执行以下操作:
- 在 名称(Name) 字段中,输入
Registry for Test。 - 在 发现类型(Discovery Type) 字段中,选择
Kubernetes。 - 填写 API Server 地址(API Server Address) 和 Token 值(Token Value) 字段。
- 点击 添加(Add)。
- 等待并确保该服务注册中心的状态变为
正常(Healthy)。
配置上游
-
从侧边导航栏选择你的网关组下的 已发布服务(Published Services),然后点击 添加服务(Add Service)。
-
选择 手动添加(Add Manually)。
-
在 添加服务(Add Service) 对话框中,执行以下操作:
- 在 名称(Name) 字段中,输入
httpbin。 - 在 服务类型(Service Type) 字段中,选择
HTTP (七层代理)。 - 在 上游协议(Upstream Scheme) 字段中,选择
HTTP。 - 在 如何寻找上游(How to find the upstream) 字段中,选择
使用服务发现(Use Service Discovery)。 - 在 服务注册中心(Service Registry) 字段中选择
Registry for Test,然后依次选择对应的 命名空间(Namespace) 和 服务名称(Service Name)。
- 在 名称(Name) 字段中,输入
-
点击 添加(Add)。这将会创建一个处于“无版本(No Version)”状态的新服务。
下面是一个交互式演示,提供了连接 Kubernetes 服务发现的实际上手介绍。你可以通过点击并按照步骤操作,以更好地了解如何在 API7 网关中使用该功能。
Nacos
添加服务注册中心连接
- 从侧边导航栏选择你的网关组下的 服务注册中心(Service Registries),然后点击 添加服务注册中心连接(Add Service Registry Connection)。
- 在对话框中,执行以下操作:
- 在 名称(Name) 字段中,输入
Registry for Test。 - 在 发现类型(Discovery Type) 字段中,选择
Nacos。 - 在 主机(Hosts) 字段中,填写主机地址和端口。
- 在 获取 Token 方式(How to Get Token) 字段中,选择一种获取 Token 的方式并配置相关参数。
- 点击 添加(Add)。
- 等待并确保该服务注册中心的状态变为
正常(Healthy)。
配置上游
-
从侧边导航栏选择你的网关组下的 已发布服务(Published Services),然后点击 添加服务(Add Service)。
-
选择 手动添加(Add Manually)。
-
在 添加服务(Add Service) 对话框中,执行以下操作:
- 在 名称(Name) 字段中,输入
httpbin。 - 在 服务类型(Service Type) 字段中,选择
HTTP (七层代理)。 - 在 上游协议(Upstream Scheme) 字段中,选择
HTTP。 - 在 如何寻找上游(How to find the upstream) 字段中,选择
使用服务发现(Use Service Discovery)。 - 在 服务注册中心(Service Registry) 字段中选择
Registry for Test,然后依次选择 命名空间(Namespace)、组(Group) 和 服务名称(Service Name)。
- 在 名称(Name) 字段中,输入
-
点击 添加(Add)。这将会创建一个处于“无版本(No Version)”状态的新服务。
下面是一个交互式演示,提供了连接 Nacos 服务发现的实际上手介绍。你可以通过点击并按照步骤操作,以更好地了解如何在 API7 网关中使用该功能。