我正在使用 AWS ECS 部署 Envoy 前端代理后面的多个 Web 服务(通过 Docker 映像)。其中一些 docker 镜像有多个部署的实例。
我目前正在使用 ECS 的服务发现功能来生成 DNS 记录,因此我的服务是可发现的。所有这些都按预期工作。
我最初使用awsvpc
网络模式并使用 A 记录进行服务发现。但是我很快就达到了网络限制(开始出现“没有足够的 ENI”错误),所以我已经切换到Bridged
网络并且我正在尝试使用 SRV 记录进行服务发现。
我遇到的问题是 Envoy 代理似乎不支持 SRV 进行服务发现。或者如果是这样,我需要对我的设置进行哪些更改?我已经包含了我的集群配置的相关部分
clusters:
- name: ms_auth
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_auth.apis
port_value: 80
- name: ms_logging
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_logging.apis
port_value: 80
如果做不到这一点,我应该考虑哪些其他选项才能使此设置正常工作?