Détection de services et DNS

Cette rubrique explique comment Anthos clusters on AWS interagit avec les services de noms de domaine (DNS) sur votre cloud privé virtuel (VPC) et vos clusters AWS.

DNS pour un cloud privé virtuel (VPC) AWS

Cette section explique comment configurer un cloud privé virtuel (VPC) AWS pour Anthos clusters on AWS (GKE sur AWS).

Configurer le DNS pour un cloud privé virtuel VPC

Anthos clusters on AWS prend en charge diverses configurations DNS dans votre VPC AWS. Vous configurez les paramètres DNS de votre VPC lorsque vous créez un ensemble d'options DHCP. Pour en savoir plus, consultez la page Compatibilité DNS pour votre VPC.

Vous pouvez configurer les options suivantes :

Noms d'hôte DNS
Définit si les instances EC2 avec des adresses IP publiques obtiennent les noms d'hôte DNS publics correspondants. Vous définissez cette valeur à l'aide du champ enableDNSHostnames de l'ensemble d'options DHCP de votre VPC. Pour en savoir plus, consultez les pages Noms d'hôte DNS VPC et Ensembles d'options DHCP pour votre VPC.
Noms d'hôte DNS EC2
Ce paramètre détermine si les instances EC2 reçoivent un nom d'hôte DNS par défaut ou un nom d'hôte DNS personnalisé.
Serveur DNS
Indique si l'ensemble d'options DHCP de votre VPC utilise le serveur DNS AWS Route53 (avec l'option AmazonProvidedDNS) ou un serveur DNS hébergé.

Configurations DNS VPC compatibles

Le tableau suivant inclut les configurations DNS compatibles avec Anthos clusters on AWS :

Activer les noms d'hôte DNS Noms d'hôte DNS EC2 Serveur DNS Compatible ?
true Par défaut AWS Route53 Yes
false Par défaut AWS Route53 Yes
true Personnalisé AWS Route53 Yes
false Personnalisé AWS Route53 Yes
true Personnalisé Hébergé Yes
false Personnalisé Hébergé Yes
true Par défaut Hébergé Non
false Par défaut Hébergé Non

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 Anthos clusters on AWS (GKE sur AWS) 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.zone

Où :

  • service : nom de votre service
  • namespace : espace de noms de votre service
  • zone : zone AWS 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

Anthos clusters on AWS utilise CoreDNS pour résoudre les noms DNS au sein des clusters. CoreDNS s'exécute en tant que déploiement redondant et évolutif 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

Anthos clusters on AWS utilise NodeLocal DNSCache pour améliorer les performances de résolution DNS. NodeLocal DNSCache s'exécute en tant que DaemonSet sur chaque nœud de votre cluster. Lorsqu'un pod envoie une requête DNS, celle-ci est d'abord envoyée au cache DNS sur le même nœud. Si le cache ne peut pas résoudre la requête DNS, il la transfère à:

  • à CoreDNS pour un nom interne (par exemple, foo.bar.svc.cluster.local) ;
  • au serveur DNS Amazon pour un nom externe (par exemple, example.net).

Calico

Les clusters Anthos sur AWS utilisent Calico pour établir le routage BGP entre les nœuds de cluster.

Étapes suivantes