Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo configuro un reenviador condicional con CoreDNS en mi clúster de Amazon EKS?

3 minutos de lectura
0

Quiero configurar un reenviador condicional con CoreDNS en mi clúster de Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descripción

Use CoreDNS para configurar un reenviador condicional para las consultas de DNS que se envían a los dominios que resuelve un servidor DNS personalizado. Para obtener más información, consulte Customizing DNS service en el sitio web de Kubernetes.

Importante: Antes de realizar cambios en la configuración del complemento de Amazon EKS CoreDNS, debe determinar qué ajustes administra Amazon EKS. Encontrará esta información en la configuración de complementos de Amazon EKS. Cuando se modifica un campo administrado por Amazon EKS, Amazon EKS no puede administrar el complemento. Amazon EKS podría sobrescribir los cambios cuando se actualice un complemento.

Solución

La siguiente solución se aplica a las configuraciones autoadministradas de CoreDNS y a las configuraciones de complementos de Amazon EKS.

Configuración de un complemento autoadministrado

Ejecute el siguiente comando para modificar el ConfigMap de CoreDNS y agregar la configuración personalizada del reenviador condicional de DNS:

$ kubectl -n kube-system edit configmap coredns

El resultado es similar al siguiente:

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
    }

Nota: Reemplace domain-name por el nombre de su dominio y custom-dns-server por la dirección IP personalizada del servidor de DNS.

Configuración de un complemento de Amazon EKS

Para realizar los cambios en el complemento CoreDNS administrado por Amazon EKS, siga estos pasos:

  1. Abra la consola de Amazon EKS.

  2. En el panel de navegación, seleccione Clústeres.

  3. Elija el nombre de su clúster.

  4. Seleccione la pestaña Complementos.

  5. Elija el complemento CoreDNS y, a continuación, Editar.

  6. En la página de edición, seleccione la sección Valores de configuración opcionales. En la sección Valores de configuración, añada la configuración personalizada del reenviador condicional de 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
        }

    Nota: Reemplace domain-name por el nombre de su dominio y custom-dns-server por la dirección IP personalizada del servidor de DNS.

Verificación de la resolución del nombre de dominio

Para comprobar si la resolución del nombre de dominio funciona, ejecute los siguientes comandos:

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

Nota:Reemplace elnombre de dominio por su nombre de dominio.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año