Wie konfiguriere ich eine bedingte Weiterleitung mit CoreDNS in meinem Amazon EKS-Cluster?

Lesedauer: 3 Minute
0

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:

  1. Öffnen Sie die Amazon EKS-Konsole.

  2. Wählen Sie im Navigationsbereich die Option Cluster aus.

  3. Wählen Sie den Namen Ihres Clusters.

  4. Wählen Sie den Tab Add-ons.

  5. Wählen Sie das CoreDNS-Add-on aus und wählen Sie dann Bearbeiten.

  6. 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.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr