Questo documento mostra come configurare il DNS per un cluster di amministrazione o un cluster utente.
La configurazione DNS per un cluster si trova in una risorsa personalizzata ClusterDNS
denominato default
. Questa è una risorsa a livello di cluster. cioè non
con 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 cluster kubeconfig .
La configurazione DNS si trova nella sezione spec
. Se la sezione spec
è vuota
o mancante, il cluster utilizza una configurazione CoreDNS predefinita di Kubernetes.
Modifica la configurazione DNS
Crea un manifest per una risorsa ClusterDNS denominata default
. Compila il spec
in base alle tue esigenze. 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
cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
Le specifiche ClusterDNS
spec.upstreamNameservers
Un array di oggetti, ognuno dei quali ha un indirizzo IP del server e, facoltativamente, un dalla porta del server. Il valore predefinito per la porta del server è 53.
I server dei nomi upstream predefiniti. Le richieste per 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 DNS
Il provider usa il file /etc/resolve.conf
sul nodo per trovare l'elenco
dei nomi upstream.
spec.domains
Configurazione per domini specifici. Ciò consente di eseguire l'override della configurazione
a upstreamNameservers
.
Puoi utilizzare questa sezione per configurare diversi server dei nomi upstream per specifici, separatamente dai server dei nomi upstream predefiniti.
Puoi anche attivare il logging delle query per un dominio. Puoi farlo per qualsiasi specificato o 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,
imposta questo valore su "private"
. Se vuoi che i domini Google risolvano
indirizzi IP con accesso limitato, imposta questo valore su restricted
. Se non vuoi offerte speciali
per i domini Google, impostalo su default
o rimuovilo. Per ulteriori informazioni
le informazioni, vedi
Configurare l'accesso privato Google per gli host on-premise.
Ad esempio:
spec: googleAccess: private
spec.orderPolicy
Stringa. Se vuoi specificare il criterio di ordinamento in base al quale i server upstream vengono
selezionato. Il valore predefinito è "random"
. I tipi supportati sono "random"
e "round_robin"
e "sequential"
. Tieni presente che questa norma relativa agli ordini si applica ai domini definiti
. Consulta la documentazione su coredns per ulteriori informazioni
informazioni su policy
e su cosa fa ogni configurazione.
Ad esempio:
spec: orderPolicy: sequential