In diesem Dokument wird gezeigt, wie Sie DNS-Anbieteroptionen (Domain Name System) für Google Distributed Cloud Connected konfigurieren. Die DNS-Konfiguration für einen Cluster wird in einer benutzerdefinierten ClusterDNS-Ressource mit dem Namen default gespeichert. Diese Ressource ist clusterübergreifend. Das heißt, sie hat keinen Namespace. Die benutzerdefinierte ClusterDNS-Ressource gilt für alle Clustertypen.
ClusterDNS-Ressource erstellen
Erstellen Sie ein Manifest für eine ClusterDNS-Ressource mit dem Namen default. Geben Sie im Feld spec die gewünschten Ressourceneinstellungen an. Beispiel:
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
Führen Sie den folgenden Befehl aus, um das Manifest in einer Datei mit dem Namen my-dns.yaml zu speichern und die Ressource auf den Cluster anzuwenden:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yamlErsetzen Sie KUBECONFIG durch den Pfad zur kubeconfig-Datei des Clusters.
ClusterDNS-Ressource ansehen
Führen Sie den folgenden Befehl aus, um die ClusterDNS-Ressource aufzurufen:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yamlErsetzen Sie KUBECONFIG durch den Pfad zur kubeconfig-Datei des Clusters.
ClusterDNS-Spezifikation
In den folgenden Abschnitten werden die Teile der benutzerdefinierten ClusterDNS-Ressourcendefinition beschrieben, die Sie zum Konfigurieren von DNS für Ihre Cluster verwenden. Sie können die ClusterDNS-Ressource für einen Cluster jederzeit aktualisieren.
spec.upstreamNameservers
Verwenden Sie das Feld spec.upstreamNameservers, um Ihre standardmäßigen vorgelagerten Nameserver mit einem Array von Objekten anzugeben. Jedes Objekt hat eine Server-IP-Adresse und optional einen Serverport. Der Standardwert für den Serverport ist 53.
Anfragen für Nicht-Cluster-Domains werden standardmäßig an diese Gruppe von Servern weitergeleitet.
Hier ein Beispiel für eine upstreamNameservers-Konfiguration:
spec:
upstreamNameservers:
- serverIP: 8.8.8.8
- serverIP: 1.2.3.4
serverPort: 54
Wenn Sie für upstreamNameservers keine Werte angeben, verwendet der DNS-Anbieter die Datei /etc/resolv.conf auf dem Knoten, um die Liste der vorgelagerten Nameserver zu ermitteln.
spec.domains
Verwenden Sie das Feld spec.domains, um verschiedene vorgelagerte Nameserver für bestimmte Domains zu konfigurieren. Diese domainspezifischen Nameserver-Einstellungen überschreiben die Konfiguration in upstreamNameservers.
Sie können auch das Abfrage-Logging für eine Domain aktivieren. Sie können das Abfrage-Logging für jede angegebene Domain oder die Cluster-Domain cluster.local aktivieren.
Hier ein Beispiel für eine spec.domains-Konfiguration:
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
Das Feld spec.googleAccess ist ein String, der angibt, wie Google-Domains behandelt werden sollen. googleAccess-Werte geben das folgende Verhalten an:
default: Keine spezielle Behandlung für Google-Domains. Das Entfernen des FeldsgoogleAccesshat denselben Effekt.private: Google-Domains werden nur in IP-Adressen mit privatem Zugriff aufgelöst.restricted: Google-Domains werden nur in IP-Adressen mit eingeschränktem Zugriff aufgelöst.
Im folgenden Beispiel werden Google-Domains nur in IP-Adressen mit privatem Zugriff aufgelöst:
spec:
googleAccess: private
Weitere Informationen finden Sie unter Privaten Google-Zugriff für lokale Hosts konfigurieren.