Descubrimiento de servicios y DNS

En este tema, se describe cómo clústeres de Anthos alojados en AWS interactúa con los servicios de nombres de dominio (DNS) en tu nube privada virtual (VPC) de AWS y tus clústeres.

DNS en VPC de AWS

En esta sección, se describe cómo puedes configurar una nube privada virtual (VPC) de AWS para clústeres de Anthos alojados en AWS (GKE en AWS).

Configura DNS en VPC

Los clústeres de Anthos alojados en AWS admiten una variedad de opciones de configuración de DNS en tu VPC de AWS. Establece la configuración de DNS de tu VPC cuando crees un conjunto de opciones de DHCP. Para obtener más información, consulta Compatibilidad de DNS para tu VPC.

Puedes configurar las siguientes opciones:

Nombres de host de DNS
Esto establece si las instancias de EC2 con direcciones IP públicas obtienen los nombres de host DNS correspondientes. Establece este valor mediante el campo enableDNSHostnames en el conjunto de opciones de DHCP de la VPC. Si deseas obtener más información, consulta Nombres de host de DNS en VPC y Conjuntos de opciones de DHCP para tu VPC.
Nombres de host de DNS para EC2
Establece si las instancias de EC2 reciben un nombre de host DNS predeterminado o uno personalizado.
Servidor DNS
Si el conjunto de opciones de DHCP de tu VPC usa el servidor DNS Route53 de AWS (con la opción AmazonProvidedDNS) o un servidor DNS alojado.

Opciones de configuración de DNS en VPC compatibles

En la siguiente tabla, se incluyen configuraciones de DNS compatibles con clústeres de Anthos alojados en AWS:

Habilita nombres de host para DNS Nombres de host de DNS para EC2 Servidor DNS ¿Es compatible?
true Predeterminado AWS Route53
false Predeterminado AWS Route53
true Personalizado AWS Route53
false Personalizado AWS Route53
true Personalizado Alojada
false Personalizado Alojada
true Predeterminado Alojada No
false Predeterminado Alojada No

Descubrimiento de servicios

El descubrimiento de servicios es el proceso en el que las cargas de trabajo descubren los servicios sin conocer su dirección IP. En esta sección, se describe cómo clústeres de Anthos alojados en AWS (GKE en AWS) 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.zone

Aquí:

  • service: es el nombre del servicio.
  • namespace: es el espacio de nombres de tu servicio.
  • zone: es la zona de AWS 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

clústeres de Anthos alojados en Azure usa CoreDNS para resolver los nombres de DNS dentro de los clústeres. CoreDNS se ejecuta como una implementación redundante y a escala 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

clústeres de Anthos alojados 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)
  • El servidor DNS de Amazon, para un nombre externo (por ejemplo, example.net)

Calico

Los clústeres de Anthos alojados en AWS usan Calico para establecer el enrutamiento BGP entre los nodos del clúster.

¿Qué sigue?