Información general sobre el descubrimiento de servicios y el DNS

En este tema se describe cómo interactúa GKE en Azure con los servicios de nombres de dominio (DNS).

Descubrimiento de servicios

El descubrimiento de servicios es el proceso por el que las cargas de trabajo descubren servicios sin conocer la dirección IP del servicio. En esta sección se describe cómo implementa GKE en Azure el descubrimiento de servicios y el DNS gestionado.

Kubernetes genera automáticamente nombres de servicio que usan la siguiente especificación:

service.namespace.svc.cluster.local

Donde:

  • service: el nombre de tu servicio
  • namespace: el espacio de nombres de tu servicio

Las cargas de trabajo también acceden a servicios externos (por ejemplo, example.net) mediante nombres de DNS. Para obtener más información sobre el comportamiento del DNS en Kubernetes, consulta DNS para servicios y pods.

CoreDNS

GKE en Azure usa CoreDNS para resolver nombres de DNS en los clústeres. CoreDNS se ejecuta como un Deployment (Despliegue) redundante y escalado en el espacio de nombres kube-system. La implementación de CoreDNS tiene un servicio que agrupa los pods de CoreDNS y les asigna una única dirección IP. La implementación de CoreDNS se adapta al tamaño y al uso del clúster.

NodeLocal DNSCache

GKE en Azure usa NodeLocal DNSCache para mejorar el rendimiento de las búsquedas de DNS. NodeLocal DNSCache se ejecuta como un DaemonSet en cada nodo de tu clúster. Cuando un pod hace una solicitud de DNS, la solicitud va primero a la caché de DNS del mismo nodo. Si la caché no puede resolver la solicitud de DNS, la reenvía a una de las siguientes opciones:

  • CoreDNS para un nombre interno, por ejemplo, foo.bar.svc.cluster.local

Siguientes pasos

  • Para obtener una descripción general de cómo se usa el DNS en los clústeres de Kubernetes, consulta DNS para servicios y pods.