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 | Sì |
false |
Predefinito | AWS Route53 | Sì |
true |
Personalizzato | AWS Route53 | Sì |
false |
Personalizzato | AWS Route53 | Sì |
true |
Personalizzato | Host | Sì |
false |
Personalizzato | Host | Sì |
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 servizionamespace
: spazio dei nomi del tuo serviziozone
: 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
- Scopri di più sul supporto DNS per AWS per il tuo VPC.
- Per una panoramica sull'utilizzo del DNS nei cluster Kubernetes, vedi DNS per i servizi e i pod.