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 IP 10.0.0.100
  • service-b.example.com ha l'indirizzo IP 10.0.0.101
  • service-c.example.com ha l'indirizzo IP 10.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 a service-a.example.com.
  • FR2 ha l'indirizzo IP 10.0.0.101:80, associato a service-b.example.com.
  • FR3 ha l'indirizzo IP 10.0.0.102:80, associato a service-c.example.com.

Quando service-a richiama service-b utilizzando il nome di dominio completo (FQDN) service-b.example.com, si verificano tre cose:

  1. service-a esegue prima una ricerca DNS per service-b.example.com per risolvere l'indirizzo IP di service-b.
  2. Il dominio viene risolto in 10.0.0.101 in modo che corrisponda all'indirizzo IP configurato della regola di inoltro di service-b.
  3. 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.