Risoluzione dei nomi DNS
Questo documento si applica a Cloud Service Mesh con Envoy e alle API di bilanciamento del carico precedenti, che includono le regole di inoltro.
Questo documento spiega la relazione tra l'indirizzo IP virtuale di una regola di forwarding e la modalità di associazione della regola di inoltro a un servizio. Il documento illustra inoltre come pianificare e configurare il DNS per una comunicazione tra servizi in un mesh di servizi Cloud Service Mesh.
Considera questo esempio, in cui sono presenti 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 tra servizi. 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'infrastruttura 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. Pertanto, devi 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 inoltro, FR1, FR2 e FR3, ciascuna che utilizza la porta 80
:
- FR1 ha l'indirizzo IP
10.0.0.100:80
, associato aservice-a.example.com
. - FR2 ha l'indirizzo IP
10.0.0.101:80
, associato aservice-b.example.com
. - FR3 ha l'indirizzo IP
10.0.0.102:80
, 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 viene risolto in
10.0.0.101
in modo che corrisponda all'indirizzo IP configurato della regola di inoltro diservice-b
. - Il proxy Envoy ora è in grado di intercettare il traffico e inoltrarlo 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.