Questo documento mostra come configurare il DNS per un cluster di amministrazione o un cluster utente.
La configurazione DNS per un cluster viene conservata in una risorsa personalizzata ClusterDNS denominata default
. Si tratta di una risorsa a livello di cluster, ovvero non si tratta di uno spazio dei nomi.
Visualizzare 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 è nella sezione spec
. Se la sezione spec
è vuota o mancante, il cluster utilizza una configurazione Kubernetes CoreDNS predefinita.
Modificare la configurazione DNS
Creare un manifest per una risorsa ClusterDNS denominata default
. Compila il campo spec
come preferisci. 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 nameservers: - 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 del server e facoltativamente una porta del 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 per impostazione predefinita a questo set di server. 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
nel nodo per trovare l'elenco dei server dei nomi a monte.
spec.domains
Configurazione per domini specifici. Questo consente di eseguire l'override della configurazione in upstreamNameservers
.
Puoi utilizzare questa sezione per configurare server dei nomi a monte diversi per domini specifici, separatamente dai server dei nomi a monte 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 trovino indirizzi IP con accesso privato, impostalo su "private"
. Se vuoi che i domini Google accedano agli indirizzi IP ad accesso limitato, imposta questo valore su restricted
. Se non vuoi applicare un trattamento speciale per i domini Google, impostalo su default
o rimuovilo. Per ulteriori informazioni, consulta la pagina relativa alla configurazione dell'accesso privato Google per gli host on-premise.
Ad esempio:
spec: googleAccess: private