In diesem Dokument wird gezeigt, wie DNS-Anbieteroptionen (Domain Name System) für Anthos-Cluster auf Bare Metal konfiguriert werden. 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
. Füllen Sie spec
nach Bedarf aus. 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.0.1
- name: my-own-personal-domain.com
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: private
Speichern Sie das Manifest in einer Datei mit dem Namen my-dns.yaml
und wenden Sie die Ressource auf den Cluster an:
kubectl --kubeconfig ADMIN_KUBECONFIG apply -f my-dns.yaml
Ersetzen Sie ADMIN_KUBECONFIG
durch den Pfad zur kubeconfig-Datei des Administratorclusters.
ClusterDNS-Ressource ansehen
So rufen Sie die ClusterDNS-Ressource auf:
kubectl --kubeconfig ADMIN_KUBECONFIG get clusterdns default --output yaml
Ersetzen Sie ADMIN_KUBECONFIG
durch den Pfad zur kubeconfig-Datei des Administratorclusters.
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
Geben Sie Ihre standardmäßigen vorgelagerten Nameserver mit einem Array von Objekten an, von denen jedes eine Server-IP-Adresse und optional einen Serverport hat. Der Standardwert für den Serverport ist 53. Anfragen für Nicht-Cluster-Domains werden standardmäßig an dieses Array von Serveradressen 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/resolve.conf
auf dem Knoten, um die Liste der vorgelagerten Nameserver zu ermitteln.
spec.domains
Konfiguration für bestimmte Domains. Verwenden Sie diesen Abschnitt, 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.
Beispiel:
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
Aufzählung (private
, restricted
oder default
). Gibt an, wie Google-Domains behandelt werden. googleAccess
-Werte geben das folgende Verhalten an:
default
: Keine spezielle Behandlung für Google-Domains. Das Entfernen des FeldsgoogleAccess
hat 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.