Questo documento mostra come configurare le opzioni del provider DNS (Domain Name System) per Google Distributed Cloud connected. La configurazione DNS per un cluster è contenuta in una risorsa personalizzata ClusterDNS
denominata default. Questa risorsa è a livello di cluster, il che significa che
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
Per salvare il manifest in un file denominato my-dns.yaml e applicare la risorsa al cluster, esegui questo comando:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yamlSostituisci KUBECONFIG con il percorso del file kubeconfig del cluster.
Visualizza la risorsa ClusterDNS
Per visualizzare la risorsa ClusterDNS, esegui questo comando:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yamlSostituisci 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 cluster. Puoi aggiornare la risorsa ClusterDNS per un cluster in qualsiasi momento.
spec.upstreamNameservers
Utilizza il campo spec.upstreamNameservers per specificare i server
dei nomi upstream predefiniti con un array di oggetti. Ogni oggetto ha un indirizzo IP del server e,
facoltativamente, una porta del server. Il valore predefinito per la porta del server è 53.
Le richieste per i domini non cluster vengono inoltrate a questo insieme di server per impostazione predefinita.
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
Utilizza il campo spec.domains per configurare server dei nomi upstream diversi per domini specifici. Queste impostazioni del server dei nomi 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.
Ecco un esempio di configurazione di spec.domains:
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
Il campo spec.googleAccess è una stringa che 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 campogoogleAccessha 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.
L'esempio di impostazione seguente risolve i domini Google solo in indirizzi IP con accesso privato:
spec:
googleAccess: private
Per ulteriori informazioni, consulta Configurare l'accesso privato Google per gli host on-premise.