Resolução de nomes DNS
Este documento se aplica ao Cloud Service Mesh com o Envoy e às APIs de balanceamento de carga mais antigas, que incluem regras de encaminhamento.
Neste documento, explicamos a relação entre o IP virtual de uma regra de encaminhamento endereço IP e como a regra de encaminhamento está associada a um serviço. O documento também descreve como planejar e configurar o DNS para uma comunicação de serviço a serviço uma malha de serviço do Cloud Service Mesh.
Considere este exemplo, em que há três serviços, service-a
,
service-b
e service-c
, que se comunicam entre si. Desenvolvedores com frequência
usar nomes de domínio totalmente qualificados no código para serviço a serviço
comunicação. Se o nome de domínio for example.com, os três serviços poderão ser
representadas como:
service-a.example.com
service-b.example.com
service-c.example.com
Ao configurar os recursos do Cloud Service Mesh para criar uma malha de serviço,
você configura uma regra de encaminhamento para cada um dos serviços. Uma regra de encaminhamento representa o par IP:Port
do serviço de destino. Para que o tráfego de saída seja interceptado por um proxy sidecar do Envoy, o endereço IP de destino precisa corresponder
ao endereço IP associado à regra de encaminhamento. Portanto, você precisa provisionar um endereço IP para cada serviço. Exemplo:
service-a.example.com
tem o endereço IP10.0.0.100
service-b.example.com
tem o endereço IP10.0.0.101
service-c.example.com
tem o endereço IP10.0.0.102
A configuração correspondente do Cloud Service Mesh tem três regras de encaminhamento:
FR1, FR2 e FR3, cada um usando a porta 80
:
- FR1 tem o endereço IP
10.0.0.100:80
, que está associado aservice-a.example.com
. - FR2 tem o endereço IP
10.0.0.101:80
, que está associado aservice-b.example.com
. - FR3 tem o endereço IP
10.0.0.102:80
, que está associado aservice-c.example.com
.
Quando service-a
invoca service-b
usando o nome de domínio totalmente qualificado (FQDN, na sigla em inglês)
service-b.example.com
, três coisas acontecem:
service-a
primeiro executa uma busca DNS paraservice-b.example.com
para resolver o endereço IP deservice-b
.- O domínio é resolvido para
10.0.0.101
para que corresponda ao endereço IP configurado da regra de encaminhamento deservice-b
. - O proxy do Envoy agora pode interceptar o tráfego e roteá-lo para o serviço de
back-end que tem back-ends de
service-b
, sejam eles NEGs ou MIGs.
É possível configurar uma zona particular gerenciada do Cloud DNS para hospedar os registros de recursos dos serviços.