Resolución de nombres de DNS
Este documento se aplica a Cloud Service Mesh con Envoy y a las APIs de balanceo de carga anteriores, que incluyen reglas de reenvío.
En este documento se explica la relación entre la dirección IP virtual de una regla de reenvío y cómo se asocia la regla de reenvío con un servicio. El documento también describe cómo planificar y configurar el DNS para la comunicación entre servicios en una malla de servicios de Cloud Service Mesh.
En este ejemplo, hay tres servicios, service-a, service-b y service-c, que se comunican entre sí. Los desarrolladores suelen usar nombres de dominio completos en su código para la comunicación entre servicios. Si el nombre de tu dominio es example.com, los tres servicios podrían representarse de la siguiente manera:
service-a.example.comservice-b.example.comservice-c.example.com
Cuando configuras recursos de Cloud Service Mesh para crear una malla de servicios, configuras una regla de reenvío para cada uno de los servicios. Una regla de reenvío representa el par IP:Port del servicio de destino. Para que un proxy sidecar de Envoy intercepte el tráfico de salida, la dirección IP de destino debe coincidir con la dirección IP asociada a la regla de reenvío. Por lo tanto, debes aprovisionar una dirección IP para cada servicio. Por ejemplo:
service-a.example.comtiene la dirección IP10.0.0.100.service-b.example.comtiene la dirección IP10.0.0.101.service-c.example.comtiene la dirección IP10.0.0.102.
La configuración de Cloud Service Mesh correspondiente tiene tres reglas de reenvío (FR1, FR2 y FR3), cada una de las cuales usa el puerto 80:
- FR1 tiene la dirección IP
10.0.0.100:80, que está asociada aservice-a.example.com. - FR2 tiene la dirección IP
10.0.0.101:80, que está asociada aservice-b.example.com. - FR3 tiene la dirección IP
10.0.0.102:80, que está asociada aservice-c.example.com.
Cuando service-a invoca service-b mediante el nombre de dominio completo (FQDN)
service-b.example.com, ocurren tres cosas:
service-aprimero realiza una búsqueda de DNS deservice-b.example.compara resolver la dirección IP deservice-b.- El dominio se resuelve en
10.0.0.101para que coincida con la dirección IP configurada de la regla de reenvío deservice-b. - El proxy de Envoy ahora puede interceptar el tráfico y enrutarlo al servicio de backend que tiene los backends de
service-b, ya sean NEGs o MIGs.
Puedes configurar una zona privada gestionada de Cloud DNS para alojar los registros de recursos de tus servicios.