Descripción general del DNS y el descubrimiento de servicios

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

Descubrimiento de servicios

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

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

service.namespace.svc.cluster.local

Aquí:

  • service: es el nombre del servicio.
  • namespace: es el espacio de nombres de tu servicio.

Las cargas de trabajo también acceden a servicios externos, como example.net, mediante nombres de DNS. Si deseas obtener más información sobre el comportamiento de DNS en Kubernetes, consulta DNS para servicios y Pods.

CoreDNS

GKE en Azure usa CoreDNS para resolver los nombres de DNS en los clústeres. CoreDNS se ejecuta como una implementación redundante y escalada en el espacio de nombres kube-system. La implementación de CoreDNS tiene un servicio que agrupa los Pods de CoreDNS y les proporciona una sola dirección IP. La implementación de CoreDNS se escala con el tamaño y el uso del clúster.

NodeLocal DNSCache

GKE en AWS 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 realiza una solicitud de DNS, la solicitud primero va a la caché de DNS en el mismo nodo. Si la caché no puede resolver la solicitud de DNS, la caché reenvía la solicitud a uno de los siguientes:

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

¿Qué sigue?

  • 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.