Panoramica di Service Discovery e DNS
Questo argomento descrive come GKE su Azure interagisce con i DNS (Domain Name Services).
Service Discovery
Il rilevamento dei servizi è il processo in cui i carichi di lavoro rilevano servizi senza conoscerne l'indirizzo IP. Questa sezione descrive in che modo GKE su Azure implementa Service Discovery e il DNS gestito.
Kubernetes genera automaticamente nomi di servizio che utilizzano la seguente specifica:
service.namespace.svc.cluster.local
Dove:
service
: nome del servizionamespace
: lo spazio dei nomi del tuo servizio
I carichi di lavoro accedono anche a servizi esterni, ad esempio example.net
,
utilizzando i nomi DNS. Per maggiori informazioni sul comportamento del DNS in Kubernetes, consulta
DNS per servizi e pod.
CoreDNS
GKE su Azure utilizza
CoreDNS
per risolvere i nomi DNS all'interno dei cluster. CoreDNS viene eseguito come un deployment ridondante e scalato nello spazio dei nomi kube-system
. Il deployment di CoreDNS include un servizio che raggruppa i pod CoreDNS e fornisce loro un singolo indirizzo IP. Il deployment CoreDNS scala
in base alle dimensioni e all'utilizzo del cluster.
NodeLocal DNSCache
GKE su Azure utilizza NodeLocal DNSCache per migliorare le prestazioni della ricerca DNS. NodeLocal DNSCache viene eseguito come DaemonSet su ciascun nodo nel cluster. Quando un pod invia una richiesta DNS, la richiesta viene inviata prima alla cache DNS sullo stesso nodo. Se la cache non è in grado di risolvere la richiesta DNS, inoltra la richiesta a:
- CoreDNS per un nome interno, ad esempio
foo.bar.svc.cluster.local
Passaggi successivi
- Per una panoramica dell'utilizzo del DNS nei cluster Kubernetes, consulta DNS per servizi e pod.