Esta documentación es para la versión más reciente de GKE en Azure, que se lanzó en noviembre de 2021. Consulta las notas de la versión para obtener más información.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-07-02 (UTC)"],[],[],null,["# Service discovery and DNS overview\n==================================\n\nThis topic describes how GKE on Azure interacts with Domain\nName Services (DNS).\n\nService discovery\n-----------------\n\nService discovery is the process where workloads discover services without\nknowing the service's IP address. This section describes how\nGKE on Azure implements service discovery and managed DNS.\n\nKubernetes automatically generates service names that use the following\n[specification](https://github.com/kubernetes/dns/blob/master/docs/specification.md):\n\n\u003cvar translate=\"no\"\u003eservice\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003enamespace\u003c/var\u003e`.svc.cluster.local`\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003eservice\u003c/var\u003e: your service's name\n- \u003cvar translate=\"no\"\u003enamespace\u003c/var\u003e: your service's Namespace\n\nWorkloads also access external services--- for example `example.net`---\nusing DNS names. For more information on the behavior of DNS in Kubernetes, see\n[DNS for Services and Pods](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/).\n\n### CoreDNS\n\nGKE on Azure uses\n[CoreDNS](https://kubernetes.io/blog/2018/07/10/coredns-ga-for-kubernetes-cluster-dns/)\nto resolve DNS names within clusters. CoreDNS runs as a redundant, scaled\n[Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)\nin the `kube-system`\nnamespace. The CoreDNS deployment has a\n[Service](/kubernetes-engine/docs/concepts/service) that groups the CoreDNS Pods\nand gives them a single IP address. The CoreDNS Deployment scales with the\ncluster's size and usage.\n\n### NodeLocal DNSCache\n\nGKE on Azure uses\n[NodeLocal DNSCache](https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/)\nto improve DNS lookup performance. NodeLocal DNSCache runs as a\n[DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)\non each node in your cluster. When a Pod makes a DNS request, the request first\ngoes to the DNS cache on the same node. If the cache can't resolve the DNS\nrequest, the cache forwards the request to either:\n\n- CoreDNS for an internal name--- for example `foo.bar.svc.cluster.local`\n\nWhat's next\n-----------\n\n- For an overview of how DNS is used in Kubernetes clusters, see [DNS for Services and Pods](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/)."]]