Service Discovery e DNS

Questo argomento descrive il modo in cui i cluster Anthos su AWS interagiscono con Domain Name Services (DNS) sia sul tuo cluster AWS Virtual Private Cloud (VPC) che sui tuoi cluster.

DNS AWS VPC

Questa sezione descrive come configurare un AWS Virtual Private Cloud (VPC) per i cluster Anthos su AWS (GKE su AWS).

Configurazione del VPC VPC

I cluster Anthos su AWS supportano una varietà di configurazioni DNS nel tuo VPC AWS. Le impostazioni DNS del VPC vengono configurate quando crei un set di opzioni DHCP. Per maggiori informazioni, consulta Supporto DNS per il tuo VPC.

Puoi configurare le seguenti opzioni:

Nomi host DNS
Consente di stabilire se le istanze EC2 con indirizzi IP pubblici ricevono nomi host DNS corrispondenti. Puoi impostare questo valore utilizzando il campo enableDNSHostnames nel set di opzioni DHCP del tuo VPC. Per ulteriori informazioni, consulta Nomi host DNS VPC e Set di opzioni DHCP per il tuo VPC.
Nomi host DNS EC2
Consente di specificare se le istanze EC2 ricevono un nome host DNS predefinito o un nome host DNS personalizzato.
Server DNS
Se il set di opzioni DHCP del tuo VPC utilizza il server DNS AWS Route53 (con l'opzione AmazonProvidedDNS) o un server DNS ospitato.

Configurazioni DNS VPC supportate

La seguente tabella include le configurazioni DNS supportate dai cluster Anthos su AWS:

Abilita nomi host DNS Nomi host DNS EC2 Server DNS Supportato?
true Predefinito AWS Route53
false Predefinito AWS Route53
true Personalizzato AWS Route53
false Personalizzato AWS Route53
true Personalizzato Host
false Personalizzato Host
true Predefinito Host No
false Predefinito Host No

Service Discovery

Il Service Discovery è il processo in cui i carichi di lavoro rilevano i servizi senza conoscere l'indirizzo IP. Questa sezione descrive come Cluster Anthos on AWS (GKE on AWS) implementa l'Service Discovery e il DNS gestito.

Kubernetes genera automaticamente i nomi dei servizi che utilizzano la seguente specifica:

service.namespace.svc.zone

Dove:

  • service: il nome del tuo servizio
  • namespace: spazio dei nomi del tuo servizio
  • zone: la zona AWS del tuo servizio

I carichi di lavoro accedono anche a servizi esterni, ad esempio example.net, utilizzando nomi DNS. Per scoprire di più sul comportamento del DNS in Kubernetes, consulta DNS per servizi e pod.

DNS (CoreDNS)

Cluster Anthos on AWS utilizza CoreDNS per risolvere i nomi DNS all'interno dei cluster. CoreDNS viene eseguito come un deployment ridondante nello spazio dei nomi kube-system. Il deployment CoreDNS ha un Servizio che raggruppa i pod CoreDNS e assegna loro un singolo indirizzo IP. Il deployment CoreDNS scala in base alle dimensioni e all'utilizzo del cluster.

NodeLocal DNSCache

Cluster Anthos on AWS utilizza NodeLocal DNSCache per migliorare le prestazioni della ricerca DNS. NodeLocal DNSCache viene eseguito come DaemonSet su ogni nodo nel tuo cluster. Quando un pod effettua una richiesta DNS, la richiesta viene prima archiviata nella cache DNS sullo stesso nodo. Se la cache non riesce a risolvere la richiesta DNS, la inoltra a:

  • CoreDNS per un nome interno, ad esempio foo.bar.svc.cluster.local
  • Il server DNS Amazon, per un nome esterno, ad esempio example.net

Calico

Cluster Anthos on AWS utilizza Calico per stabilire il routing BGP tra i nodi del cluster.

Passaggi successivi