Questo documento mostra come configurare le opzioni del provider DNS (Domain Name System) per i cluster Anthos su Bare Metal. La configurazione DNS per un cluster è contenuta in una risorsa personalizzata ClusterDNS denominata default
. Questa risorsa è a livello di cluster, ovvero non dispone di spazio dei nomi. La risorsa personalizzata ClusterDNS si applica a tutti i tipi di cluster.
Crea la risorsa ClusterDNS
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
- 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 KUBECONFIG apply -f my-dns.yaml
Sostituisci KUBECONFIG
con il percorso del file kubeconfig del cluster.
Visualizzare 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.
La specifica ClusterDNS
Le sezioni seguenti descrivono le parti della definizione di risorsa personalizzata di 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 server e, facoltativamente, una porta server. Il valore predefinito per la porta del server è 53. Le richieste per i domini non cluster vengono inoltrate per impostazione predefinita a questo array di indirizzi del server.
Ecco una configurazione di esempio 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/resolve.conf
nel nodo per trovare l'elenco dei server dei nomi a monte.
spec.domains
Configurazione per domini specifici. Utilizza questa sezione per configurare diversi server dei nomi a monte per determinati domini. Le impostazioni del server dei nomi specifiche del dominio sostituiscono la configurazione in upstreamNameservers
.
Puoi anche attivare il logging delle query per un dominio. Puoi abilitare il logging delle query 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
Enumerazione (private
, restricted
o default
). Specifica come trattare i domini Google. I valori googleAccess
specificano il seguente comportamento:
default
: nessun trattamento speciale per i domini Google. La rimozione del campogoogleAccess
ha lo stesso effetto.private
: restituisce i domini Google solo agli indirizzi IP con accesso privato.restricted
: risolve i domini Google solo per gli indirizzi IP con accesso limitato.
Il seguente esempio di impostazione risolve i domini Google esclusivamente negli indirizzi IP con accesso privato:
spec:
googleAccess: private
Per ulteriori informazioni, consulta la pagina sulla configurazione dell'accesso privato Google per gli host on-premise.