Présentation de la détection de services et DNS
Cet article explique comment GKE sur Azure interagit avec les services de noms de domaine (DNS).
Détection de services
La détection de services est le processus permettant aux charges de travail de découvrir des services sans connaître leur adresse IP. Cette section explique comment GKE sur Azure met en œuvre la détection de services et le service de DNS géré.
Kubernetes génère automatiquement des noms de service qui suivent la spécification ci-dessous :
service.namespace.svc.cluster.local
Où :
service
: nom de votre servicenamespace
: espace de noms de votre service
Les charges de travail peuvent également accéder à des services externes, tels que example.net
, à l'aide de noms DNS. Pour en savoir plus sur le comportement du DNS dans le cadre de Kubernetes, consultez la section DNS for Services and Pods (DNS pour les services et les pods).
CoreDNS
GKE sur Azure utilise CoreDNS pour résoudre les noms DNS au sein des clusters. CoreDNS s'exécute en tant que déploiement redondant et sujet au scaling, dans l'espace de noms kube-system
. Le déploiement CoreDNS est associé à un service qui regroupe les pods CoreDNS et leur attribue une adresse IP unique. Le déploiement CoreDNS s'adapte à la taille et à l'utilisation du cluster.
NodeLocal DNSCache
GKE sur Azure utilise NodeLocal DNSCache pour améliorer les performances de la résolution DNS. NodeLocal DNSCache s'exécute en tant que DaemonSet sur chaque nœud de votre cluster. Lorsqu'un pod effectue une requête DNS, celle-ci est en premier lieu envoyée au cache DNS exécuté sur le même nœud. Si le cache ne peut pas résoudre la requête DNS, il la transfère alors soit :
- à CoreDNS pour un nom interne (par exemple,
foo.bar.svc.cluster.local
) ;
Étape suivante
- Pour obtenir une présentation de l'utilisation du DNS dans les clusters Kubernetes, consultez la page consacrée au DNS pour les services et les pods.