¿Cómo configuro un reenviador condicional con CoreDNS en mi clúster de Amazon EKS?
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:
-
Abra la consola de Amazon EKS.
-
En el panel de navegación, seleccione Clústeres.
-
Elija el nombre de su clúster.
-
Seleccione la pestaña Complementos.
-
Elija el complemento CoreDNS y, a continuación, Editar.
-
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.
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año