DNS 名称解析
本文档适用于包含 Envoy 和旧版负载均衡 API(包括转发规则)的 Cloud Service Mesh。
本文档介绍了转发规则的虚拟 IP 地址与转发规则关联到服务的方式之间的关系。;并且简要介绍了如何规划和配置 DNS 以在 Cloud Service Mesh 服务网格中进行服务到服务的通信。
假设有这样一个示例,其中有三项服务 service-a
、service-b
和 service-c
彼此通信。开发者通常会在其代码中使用完全限定域名来实现服务到服务的通信。如果您的域名是 example.com,则这三项服务可以表示为:
service-a.example.com
service-b.example.com
service-c.example.com
配置 Cloud Service Mesh 资源以创建服务网格时,您需要为每个服务都配置转发规则。转发规则表示目标服务的 IP:Port
对。要使 Envoy Sidecar 代理拦截出站流量,目标 IP 地址必须与转发规则关联的 IP 地址匹配。因此,您需要为每个服务预配 IP 地址。例如:
service-a.example.com
的 IP 地址为10.0.0.100
service-b.example.com
的 IP 地址为10.0.0.101
service-c.example.com
的 IP 地址为10.0.0.102
相应的 Cloud Service Mesh 配置将具有三个转发规则:FR1、FR2 和 FR3,每个规则都使用端口 80
:
- FR1 与
service-a.example.com
相关联,它的 IP 地址为10.0.0.100:80
。 - FR2 与
service-b.example.com
相关联,它的 IP 地址为10.0.0.101:80
。 - FR3 与
service-c.example.com
相关联,它的 IP 地址为10.0.0.102:80
。
当 service-a
使用完全限定域名 (FQDN) service-b.example.com
调用 service-b
时,会发生以下三种行为:
service-a
首先对service-b.example.com
执行 DNS 查找以解析service-b
的 IP 地址。- 域名将解析为
10.0.0.101
,以使其与service-b
的转发规则的已配置 IP 地址匹配。 - Envoy 代理现在将能够拦截流量并将其路由到具有
service-b
后端的后端服务,无论这些后端是 NEG 还是 MIG。
您可以配置由 Cloud DNS 代管的专用可用区来托管服务的资源记录。