En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment configurer un redirecteur conditionnel avec CoreDNS dans mon cluster Amazon EKS ?

Lecture de 3 minute(s)
0

Je souhaite configurer un redirecteur conditionnel avec CoreDNS dans mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).

Brève description

Utilisez CoreDNS pour configurer un redirecteur conditionnel pour les requêtes DNS envoyées aux domaines résolus par un serveur DNS personnalisé. Pour plus d’informations, consultez la section Personnalisation du service DNS sur le site Web de Kubernetes.

Important : Avant de modifier la configuration du module complémentaire CoreDNS Amazon EKS, vous devez déterminer les paramètres gérés par Amazon EKS. Vous trouverez ces informations dans la configuration du module complémentaire Amazon EKS. Lorsque vous modifiez un champ géré par Amazon EKS, Amazon EKS ne peut pas gérer le module complémentaire. Amazon EKS peut remplacer vos modifications lorsqu’un module complémentaire est mis à jour.

Résolution

La résolution suivante s'applique aux configurations CoreDNS autogérées et aux configurations de modules complémentaire Amazon EKS.

Configuration d'un module complémentaire autogéré

Exécutez la commande suivante pour modifier le CoreDNS ConfigMap et ajouter la configuration personnalisée du redirecteur conditionnel DNS :

$ kubectl -n kube-system edit configmap coredns

Les résultats se présentent de la manière suivante :

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
    }

Remarque : Remplacez domain-name par votre nom de domaine et custom-dns-server par l'adresse IP de votre serveur DNS personnalisé.

Configuration d'un module complémentaire Amazon EKS

Pour apporter les modifications au module complémentaire CoreDNS géré par Amazon EKS, procédez comme suit :

  1. Ouvrez la console Amazon EKS.

  2. Dans le volet de navigation, choisissez Clusters.

  3. Choisissez le nom de votre cluster.

  4. Choisissez l’onglet Modules complémentaires.

  5. Sélectionnez le module complémentaire CoreDNS, puis choisissez Modifier.

  6. Sur la page d'édition, choisissez la section Paramètres de configuration facultatifs. Dans la section Valeurs de configuration, ajoutez la configuration personnalisée du redirecteur conditionnel DNS :

    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
        }

    Remarque : Remplacez domain-name par votre nom de domaine et custom-dns-server par l'adresse IP de votre serveur DNS personnalisé.

Vérifiez la résolution du nom de domaine

Pour vérifier que la résolution des noms de domaine fonctionne, exécutez les commandes suivantes :

$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name

Remarque : Remplacez domain-name par le nom de votre domaine.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an