- 文档首页
API 网关
用户指南
Upstream 管理
Upstream 来源
集群路由同步
集群路由同步
API 网关对接容器服务(VKE)集群时,支持监听集群中的 Ingress 路由变动,并同步到路由表。本文介绍如何将 VKE 集群中的路由同步至 API 网关。实现无缝迁移,使用 API 网关作为集群的流量入口。
背景信息
集群中 Ingress 资源与 API 网关资源的对应关系如下:
前提条件
- 已创建 API 网关实例,具体操作可参见 创建实例。
使用限制
- 为了保证数据一致性,由 Ingress 同步的资源(即来源为 Ingress 的自定义域名、Upstream、路由),不支持在控制台操作。
- Ingress host 与 path 的字符均不得超过 255,否则将同步失败。
- Ingress host 不允许与网关控制台已有自定义域名相同。若 Ingress host 与网关已有自定义域名冲突,Ingress 将同步失败。
- 如果您的 Ingress 路由与控制台路由规则存在冲突,则请求会被转发至更早创建的那条路由。
操作步骤
- 在 实例管理 中选择目标实例后,单击 容器集群导入。
- 在集群列表中,选择待同步 Ingress 路由的集群,单击 操作 列的 编辑。
- 在导入集群页面,勾选 开启路由同步,并按要求配置以下信息。
注意
- 开启路由同步后,API 网关会自动监听 Ingress 资源的变化,并生效Ingress资源中的相关配置,将 Ingress 资源转义为服务、自定义域名、路由、Upstream 等资源合并至当前网关。
- 关闭路由同步后,API 网关会放弃监听 Ingress 资源,并删除由 Ingress 同步过来的自定义域名、路由、Upstream 资源,请谨慎操作!
-
结果验证
开启集群路由同步后,当您在集群中创建 Ingress 资源时,API 网关会自动监听 Ingress 资源的变化,并将 Ingress 资源转义为服务,域名,Upstream 等资源合并至当前网关。
说明
当前最大支持同步 1000 条 Ingress 路由,同步一条路由的时间大约为 1 秒钟。
在集群中创建指定类型的路由,例如在本文中,创建 Nginx Ingress 路由,本文中的配置举例,如下图所示。
集群中路由规则的 host 将转译为 API 网关下的服务与自定义域名。
- 在左侧导航栏选择 路由管理 > 服务列表(域名),在服务列表页面,以 host 名称命名的服务,即从集群同步过来的服务。
- 单击服务名称,进入服务概览页面。选择 域名管理 页签,查看 Ingress 同步过来的自定义域名。
集群中路由规则的 rule 将转译为 API 网关对应服务下的路由。在左侧导航栏选择 路由管理 > 路由列表,在路由列表中即可查看来源类型为 Ingress 的路由。路由名称为 ${host}-${path}-${pathType}-${backend.service}。
集群中路由规则的 backend 将转译为 API 网关下的 VKE 类型 Upstream。在左侧导航栏选择 后端管理 > Uptream 列表,在 Uptream 列表页面选择 Ingress 页签,即可查看 Ingress 同步过来的 Upstream。
后续操作
- 对于 Ingress 同步过来的自定义域名,需要前往 DNS 服务商处 添加 CNAME 记录,将自定义域名指向 API 网关当前服务的默认域名。如果不添加 CNAME 记录,通过自定义域名发送的客户端请求,将无法正确解析至 API 网关。
- 对于 Ingress 同步过来的自定义域名,请检查是否完成 ICP 备案。若未完成 ICP 备案,外部流量将被封禁。
最近更新时间:2025.11.18 11:46:32