平滑接管应用域名流量

Erda 支持在部署详情中为当前应用的指定服务直接绑定域名。这种方式能够快速将互联网流量接入指定服务,但无法管控域名下的流量,实现精细化路由配置、API 策略管理等 API 网关功能,例如无法将域名下的指定路径转发给另一个服务,也无法对 API 设置流量限制策略。

在此场景下,如需使用 API 网关的此类功能,只需为应用添加 API 网关扩展服务,即可自动为该应用绑定的域名生成对应的 流量入口。通过为该流量入口配置路由和策略实现对域名流量的管理。具体操作步骤请见下文。

初始状态

如下图所示,为应用服务绑定两个域名,www.erda.cloudabout.erda.cloud,并通过 API 网关管理域名流量。

平滑接管应用域名流量 - 图1

第一步:通过 YAML 配置文件为应用添加 API 网关扩展服务

YAML 配置文件中的 Addons 配置,即为该应用添加 API 网关扩展服务。

  1. version: "2.0"
  2. values:
  3. production:
  4. instance_num: 2
  5. services:
  6. dice-site:
  7. resources:
  8. cpu: 0.1
  9. mem: 256
  10. deployments:
  11. replicas: ${instance_num:1}
  12. ports:
  13. - port: 80
  14. expose: true
  15. health_check:
  16. http:
  17. port: 80
  18. path: "/"
  19. duration: 120
  20. addons:
  21. gateway:
  22. plan: "api-gateway:basic"

完成配置后,通过流水线重新构建和部署该服务。部署成功后即可在部署详情页查看 API 网关扩展服务如下:

平滑接管应用域名流量 - 图2

第二步:找到域名对应流量入口进行流量管理

点击该 API 网关扩展服务进入 微服务治理平台 > API 网关 > 流量入口管理

平滑接管应用域名流量 - 图3

绑定域名已生成对应的流量入口。点击 详情 后即可对域名 www.erda.cloudabout.erda.cloud 进行流量管理。