Wie konfiguriere ich eine bedingte Weiterleitung mit CoreDNS in meinem Amazon EKS-Cluster?
Ich möchte eine bedingte Weiterleitung mit CoreDNS in meinem Amazon Elastic Kubernetes Service (Amazon EKS)-Cluster konfigurieren.
Kurzbeschreibung
Verwenden Sie CoreDNS, um eine bedingte Weiterleitung für DNS-Abfragen zu konfigurieren, die an die Domains gesendet werden, die ein benutzerdefinierter DNS-Server auflöst. Weitere Informationen finden Sie unter Anpassen des DNS-Dienstes auf der Kubernetes-Website.
**Wichtig:**Bevor Sie Konfigurationsänderungen am CoreDNS Amazon EKS-Add-on vornehmen, müssen Sie die Einstellungen festlegen, die Amazon EKS verwaltet. Sie finden diese Informationen in der Amazon EKS-Add-On-Konfiguration. Wenn Sie ein Feld ändern, das Amazon EKS verwaltet, kann Amazon EKS das Add-on nicht verwalten. Amazon EKS überschreibt möglicherweise Ihre Änderungen, wenn ein Add-on aktualisiert wird.
Lösung
Die folgende Lösung gilt für selbstverwaltete CoreDNS-Konfigurationen und Amazon EKS-Add-On-Konfigurationen.
Konfigurieren eines selbstverwaltetes Add-ons
Führen Sie den folgenden Befehl aus, um die CoreDNS ConfigMap zu ändern und die benutzerdefinierte bedingte DNS-Weiterleitungs-Konfiguration hinzuzufügen:
$ kubectl -n kube-system edit configmap coredns
Die Ausgabe sieht etwa wie folgt aus:
apiVersion: v1 kind: ConfigMap metadata: annotations: labels: eks.amazonaws.com/component: coredns k8s-app: kube-dns name: coredns namespace: kube-system data: Corefile: | .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf cache 30 loop reload loadbalance } domain-name:53 { errors cache 30 forward . custom-dns-server reload }
Hinweis: Ersetzen Sie domain-name durch Ihren Domainnamen und custom-dns-server durch Ihre benutzerdefinierte DNS-Server-IP-Adresse.
Konfigurieren eines Amazon EKS-Add-ons
Befolgen Sie die folgenden Schritte, um die Änderungen am von Amazon EKS verwalteten CoreDNS-Add-on vorzunehmen:
-
Öffnen Sie die Amazon EKS-Konsole.
-
Wählen Sie im Navigationsbereich die Option Cluster aus.
-
Wählen Sie den Namen Ihres Clusters.
-
Wählen Sie den Tab Add-ons.
-
Wählen Sie das CoreDNS-Add-on aus und wählen Sie dann Bearbeiten.
-
Wählen Sie auf der Seite „Bearbeiten“ den Abschnitt Optionale Konfigurationseinstellungen aus. Fügen Sie im Abschnitt Konfigurationswerte die benutzerdefinierte Konfiguration für die bedingte DNS-Weiterleitung hinzu:
corefile: | .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf cache 30 loop reload loadbalance } domain-name:53 { errors cache 30 forward . custom-dns-server reload }
Hinweis: Ersetzen Sie domain-name durch Ihren Domainnamen und custom-dns-server durch Ihre benutzerdefinierte DNS-Server-IP-Adresse.
Überprüfung der Auflösung des Domainnamens
Führen Sie die folgenden Befehle aus, um zu überprüfen, ob die Domainnamenauflösung funktioniert:
$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600 $ kubectl exec busybox -- nslookup domain-name
Hinweis: Ersetzen Sie domain-name durch den Namen der Domain.

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren