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.
Este documento explica a relação entre o endereço IP virtual de uma regra de encaminhamento e como ela está associada a um serviço. O documento também descreve como planejar e configurar o DNS para uma comunicação serviço a serviço em 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. Os desenvolvedores costumam
usar nomes de domínio totalmente qualificados no código para comunicação de serviço a
serviço. Se o nome do domínio for example.com, os três serviços poderão ser
representados 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 uma 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.