Panoramica di Service Discovery e DNS
Questo argomento descrive come GKE su Azure interagisce con i servizi di nomi di dominio (DNS).
Service Discovery
Service Discovery è il processo in cui i workload rilevano i servizi senza conoscere l'indirizzo IP del servizio. Questa sezione descrive come GKE su Azure implementa l'Service Discovery e il DNS gestito.
Kubernetes genera automaticamente nomi di servizio che utilizzano la seguente specifica:
service.namespace.svc.cluster.local
Dove:
service: il nome del servizionamespace: lo spazio dei nomi del servizio
I workload accedono anche a servizi esterni, ad esempio example.net, utilizzando i nomi DNS. Per saperne di più 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 deployment scalato e ridondante nello spazio dei nomi kube-system. Il deployment di CoreDNS ha un
servizio che raggruppa i pod CoreDNS
e assegna loro un unico indirizzo IP. Il deployment di CoreDNS viene scalato in base alle
dimensioni e all'utilizzo del cluster.
NodeLocal DNSCache
GKE su Azure utilizza NodeLocal DNSCache per migliorare le prestazioni di ricerca DNS. NodeLocal DNSCache viene eseguito come DaemonSet su ogni nodo del cluster. Quando un pod effettua una richiesta DNS, questa viene inviata prima alla 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
Passaggi successivi
- Per una panoramica di come viene utilizzato DNS nei cluster Kubernetes, consulta DNS per servizi e pod.