Resolução de nomes DNS
Este documento aplica-se 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 a regra de encaminhamento está associada a um serviço. O documento também descreve como planear e configurar o DNS para uma comunicação de serviço a serviço numa malha de serviço do Cloud Service Mesh.
Considere este exemplo, no qual existem três serviços, service-a,
service-b e service-c, que comunicam entre si. Os programadores usam frequentemente nomes de domínio totalmente qualificados no respetivo código para comunicação entre serviços. Se o seu nome de domínio for example.com, os três serviços podem ser representados da seguinte forma:
service-a.example.comservice-b.example.comservice-c.example.com
Quando configura recursos do Cloud Service Mesh para criar uma malha de serviços,
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 intercetado por um proxy sidecar do Envoy, o endereço IP de destino tem de corresponder ao endereço IP associado à regra de encaminhamento. Por conseguinte, tem de
aprovisionar um endereço IP para cada serviço. Por exemplo:
service-a.example.comtem o endereço IP10.0.0.100service-b.example.comtem o endereço IP10.0.0.101service-c.example.comtem o endereço IP10.0.0.102
A configuração correspondente da Cloud Service Mesh tem três regras de encaminhamento, FR1, FR2 e FR3, cada uma a usar a porta 80:
- O FR1 tem o endereço IP 
10.0.0.100:80, que está associado aservice-a.example.com. - O FR2 tem o endereço IP 
10.0.0.101:80, que está associado aservice-b.example.com. - O FR3 tem o endereço IP 
10.0.0.102:80, que está associado aservice-c.example.com. 
Quando service-a invoca service-b através do nome do domínio totalmente qualificado (FQDN)
service-b.example.com, ocorrem três situações:
- O 
service-afaz primeiro uma pesquisa de DNS paraservice-b.example.compara resolver o endereço IP deservice-b. - O domínio é resolvido para 
10.0.0.101para corresponder ao endereço IP configurado da regra de encaminhamento deservice-b. - O proxy Envoy já consegue intercetar o tráfego e encaminhá-lo para o serviço de back-end que tem back-ends do 
service-b, quer sejam NEGs ou MIGs. 
Pode configurar uma zona privada gerida do Cloud DNS para alojar os registos de recursos dos seus serviços.