Questo documento mostra come configurare il DNS per un cluster di amministrazione o un cluster utente.
La configurazione DNS per un cluster è contenuta in una risorsa personalizzata ClusterDNS denominata default
. Si tratta di una risorsa a livello di cluster, ovvero non è uno spazio dei nomi.
Visualizza la risorsa ClusterDNS
Per visualizzare la risorsa ClusterDNS:
kubectl --kubeconfig CLUSTER_KUBECONFIG get clusterdns default --output yaml
Sostituisci CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster.
La configurazione DNS si trova nella sezione spec
. Se la sezione spec
è vuota o mancante, il cluster utilizza una configurazione KubernetesCoreDNS predefinita.
Modificare la configurazione DNS
Crea un manifest per una risorsa ClusterDNS denominata default
. Compila i campi spec
come
vuoto. Ad esempio:
apiVersion: networking.gke.io/v1alpha1 kind: ClusterDNS metadata: name: default spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 8.8.4.4 domains: - name: altostrat.com nameservers: - serverIP: 198.51.100.0.1 - name: my-own-personal-domain.com - serverIP: 203.0.113.1 - serverIP: 203.0.113.2 serverPort: 54 googleAccess: private
Salva il manifest in un file denominato my-dns.yaml
e applica la risorsa al cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
La specifica ClusterDNS
spec.upstreamNameservers
Un array di oggetti, ognuno dei quali ha un indirizzo IP server e, facoltativamente, una porta server. Il valore predefinito per la porta del server è 53.
I server dei nomi upstream predefiniti. Le richieste per i domini non cluster vengono inoltrate a questo insieme di server per impostazione predefinita. Ad esempio:
spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 1.2.3.4 serverPort: 54
Se non specifichi alcun valore per upstreamNameservers
, il provider DNS
utilizza il file /etc/resolve.conf
sul nodo per trovare l'elenco dei
server dei nomi upstream.
spec.domains
Configurazione per domini specifici. In questo modo è possibile eseguire l'override della configurazione in upstreamNameservers
.
Puoi utilizzare questa sezione per configurare diversi server dei nomi a monte per domini specifici, separatamente dai server dei nomi upstream predefiniti.
Puoi anche attivare il logging delle query per un dominio. Puoi eseguire questa operazione per qualsiasi dominio specificato o per il dominio del cluster, cluster.local.
Ad esempio:
spec: domains: - name: altostrat.com nameservers: - serverIP: 203.0.113.1 - name: my-own-personal-domain.com nameservers: - serverIP: 198.51.100.1 - serverIP: 198.51.100.2 serverPort: 50000 - name: cluster.local queryLogging: true
spec.googleAccess
Stringa. Se vuoi che i domini Google risolvano gli indirizzi IP con accesso privato,
impostalo su "private"
. Se vuoi che i domini Google risolvano gli indirizzi IP ad accesso limitato, imposta questa opzione su restricted
. Se non vuoi ricevere alcun trattamento speciale per i domini Google, imposta questo valore su default
o rimuovilo. Per saperne di più, vedi Configurare l'accesso privato Google per gli host on-premise.
Ad esempio:
spec: googleAccess: private