Questo documento mostra come configurare le opzioni del provider DNS (Domain Name System) per Google Distributed Cloud. La configurazione DNS per un cluster è contenuta in una risorsa personalizzata ClusterDNS
denominata default
. Questa risorsa è a livello di cluster, ovvero
non ha uno spazio dei nomi. La risorsa personalizzata ClusterDNS si applica a tutti i tipi di cluster.
Crea la risorsa ClusterDNS
Crea un manifest per una risorsa ClusterDNS denominata default
. Compila spec
per configurare le impostazioni della risorsa che 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.1
- name: my-own-personal-domain.com
nameservers:
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: default
Salva il manifest in un file denominato my-dns.yaml
e applica la risorsa al cluster:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yaml
Sostituisci KUBECONFIG
con il percorso del file kubeconfig del cluster.
Visualizza la risorsa ClusterDNS
Per visualizzare la risorsa ClusterDNS:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yaml
Sostituisci KUBECONFIG
con il percorso del file kubeconfig del cluster.
Specifica ClusterDNS
Le sezioni seguenti descrivono le parti della definizione della risorsa personalizzata ClusterDNS che utilizzi per configurare il DNS per i tuoi cluster. Puoi aggiornare la risorsa ClusterDNS per un cluster in qualsiasi momento.
spec.upstreamNameservers
Specifica i server dei nomi upstream predefiniti con 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. Per impostazione predefinita, le richieste per domini non cluster vengono inoltrate a questo array di indirizzi server.
Ecco un esempio di configurazione di upstreamNameservers
:
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/resolv.conf
sul nodo per trovare l'elenco dei server dei nomi
upstream.
spec.domains
Configurazione per domini specifici. Utilizza questa sezione per configurare diversi
server dei nomi upstream per domini specifici. Queste impostazioni dei nameserver specifiche per il dominio sostituiscono la configurazione in upstreamNameservers
.
Puoi anche attivare la registrazione delle query per un dominio. Puoi attivare la registrazione delle query per qualsiasi dominio specificato o per il dominio del cluster, cluster.local.
Ad esempio:
spec:
domains:
- name: altostrat.com
nameservers:
- serverIP: 198.51.100.1
- name: my-own-personal-domain.com
nameservers:
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 50000
- name: cluster.local
queryLogging: true
spec.googleAccess
Enumerazione (private
, restricted
o default
). Specifica come trattare
i domini Google. I valori di googleAccess
specificano il seguente comportamento:
default
: nessun trattamento speciale per i domini Google. La rimozione del campogoogleAccess
ha lo stesso effetto.private
: risolve i domini Google solo in indirizzi IP con accesso privato.restricted
: risolve i domini Google solo in indirizzi IP ad accesso limitato.
Il seguente esempio di impostazione risolve i domini Google solo in indirizzi IP con accesso privato:
spec:
googleAccess: private
Per ulteriori informazioni, consulta Configurazione dell'accesso privato Google per gli host on-premise.
spec.orderPolicy
Stringa. Se vuoi specificare i criteri di ordinamento in base ai quali vengono selezionati i server upstream. Il valore predefinito è "random"
. I tipi supportati sono "random"
,"round_robin"
e "sequential"
. Tieni presente che queste norme di ordinamento verranno applicate anche ai domini definiti. Per saperne di più su policy
e sulla funzione di ogni configurazione, consulta la documentazione di coredns.
Ad esempio:
spec: orderPolicy: sequential