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

2 minutos de lectura
0

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

Descripción corta

Puede usar CoreDNS para configurar el reenvío condicional de las consultas DNS enviadas a los dominios resueltas por un servidor DNS personalizado. Para obtener más información, consulte Personalización del servicio DNS en el sitio web de Kubernetes.

**Importante:**Aplique las modificaciones de la siguiente resolución únicamente a los CoreDNS auto gestionados. Para realizar cambios de configuración en el complemento Amazon EKS de CoreDNS, determine la configuración del complemento Amazon EKS comprobando la configuración del complemento Amazon EKS. Compruebe la configuración del complemento antes de realizar cualquier cambio, ya que la modificación de un campo administrado por Amazon EKS impide que Amazon EKS administre el complemento. Esto podría provocar que los cambios se sobrescriban cuando se actualice un complemento.

Resolución

  1. Modifique el mapa de configuración de CoreDNS y añada la configuración del expedidor condicional:
$ kubectl -n kube-system edit configmap coredns

Salida:

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 elnombre de dominio por su nombre de dominio. Sustituya custom-dns-server por la dirección IP de su servidor DNS personalizado.

2.Compruebe que la resolución de nombres de dominio funcione:

$ 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 3 años