Descripción general de descubrimiento de servicios y DNS

Este tema describe cómo GKE en Azure interactúa con los Servicios de nombres de dominio (DNS).

Descubrimiento de servicios

La detección de servicios es el proceso mediante el cual las cargas de trabajo detectan servicios sin conocer su dirección IP. Esta sección describe cómo GKE en Azure implementa la detección de servicios y el DNS administrado.

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

service . namespace .svc.cluster.local

Dónde:

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

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

CoreDNS

GKE en Azure usa CoreDNS para resolver nombres DNS dentro de los clústeres. CoreDNS se ejecuta como una implementación redundante y escalable en el espacio de nombres kube-system . La implementación de CoreDNS cuenta con un servicio que agrupa los pods de CoreDNS y les asigna una única dirección IP. La implementación de CoreDNS escala según el tamaño y el uso del clúster.

Caché DNS local del nodo

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

  • 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 DNS en los clústeres de Kubernetes, consulte DNS para servicios y pods .