Configurazione del DNS per un cluster

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. cioè senza 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 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: default

Salva il manifest in un file denominato my-dns.yaml e applica la risorsa 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 cluster kubeconfig .

La specifica ClusterDNS

Le seguenti sezioni descrivono le parti della definizione della risorsa personalizzata ClusterDNS che utilizzi per configurare il DNS per i tuoi cluster. Puoi aggiornare risorsa ClusterDNS per un cluster in qualsiasi momento.

spec.upstreamNameservers

Specifica i server dei nomi upstream predefiniti con un array di oggetti, ciascuno dei quali che ha un indirizzo IP del server e, facoltativamente, una porta del server. Il valore predefinito per la porta del server è 53. Le richieste per domini non cluster vengono inoltrate a questo array di indirizzi dei 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 DNS il provider usa il file /etc/resolve.conf sul nodo per trovare l'elenco dei nomi upstream.

spec.domains

Configurazione per domini specifici. Utilizza questa sezione per configurare diversi server dei nomi upstream per determinati domini. Questi nomi specifici del dominio le impostazioni del server 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 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 googleAccess campo ha lo stesso effetto.

  • private: risolve i domini Google solo in indirizzi IP con accesso privato.

  • restricted: risolve i domini Google solo a indirizzi IP con accesso limitato.

L'esempio di impostazione che segue risolve i domini Google in IP con accesso privato solo indirizzi:

spec:
  googleAccess: private

Per ulteriori informazioni, vedi Configurare l'accesso privato Google per gli host on-premise.