Risoluzione dei nomi DNS
Questo documento riguarda Cloud Service Mesh con Envoy e le API di bilanciamento del carico meno recenti, che includono regole di forwarding.
Questo documento spiega la relazione tra l'indirizzo IP virtuale di una regola di forwarding e il modo in cui la regola di forwarding viene associata a un servizio. Il documento descrive inoltre come pianificare e configurare il DNS per una comunicazione da servizio a servizio in un mesh di servizi Cloud Service Mesh.
Considera questo esempio, in cui esistono tre servizi, service-a
,
service-b
e service-c
, che comunicano tra loro. Gli sviluppatori spesso
utilizzano nomi di dominio completi nel codice per la comunicazione
da un servizio all'altro. Se il tuo nome di dominio è example.com, i tre servizi potrebbero essere
rappresentati come:
service-a.example.com
service-b.example.com
service-c.example.com
Quando configuri le risorse Cloud Service Mesh per creare un mesh di servizi,
configuri una regola di forwarding per ciascuno dei servizi. Una regola di forwarding
rappresenta la coppia IP:Port
del servizio di destinazione. Affinché il traffico in uscita venga intercettato da un proxy sidecar Envoy, l'indirizzo IP di destinazione deve corrispondere all'indirizzo IP associato alla regola di forwarding. Devi quindi eseguire il provisioning
di un indirizzo IP per ogni servizio. Ad esempio:
service-a.example.com
ha l'indirizzo IP10.0.0.100
service-b.example.com
ha l'indirizzo IP10.0.0.101
service-c.example.com
ha l'indirizzo IP10.0.0.102
La configurazione di Cloud Service Mesh corrispondente ha tre regole di forwarding (FR1, FR2 e FR3), ognuna con la porta 80
:
- FR1 ha l'indirizzo IP
10.0.0.100:80
, che è associato aservice-a.example.com
. - FR2 ha l'indirizzo IP
10.0.0.101:80
, che è associato aservice-b.example.com
. - FR3 ha l'indirizzo IP
10.0.0.102:80
, che è associato aservice-c.example.com
.
Quando service-a
richiama service-b
utilizzando il nome di dominio completo (FQDN)
service-b.example.com
, si verificano tre cose:
service-a
esegue prima una ricerca DNS perservice-b.example.com
per risolvere l'indirizzo IP diservice-b
.- Il dominio è stato risolto in
10.0.0.101
, in modo che corrisponda all'indirizzo IP configurato della regola di forwarding diservice-b
. - Il proxy Envoy è ora in grado di intercettare il traffico e instradarlo al servizio di backend che ha i backend di
service-b
, che si tratti di NEG o MIG.
Puoi configurare una zona privata gestita di Cloud DNS per ospitare i record di risorse per i tuoi servizi.