Utilisation de l'interface Consul DNS

Utilisation de l'interface Consul DNS
L'interface DNS de Consul vous aidera à obtenir une découverte de services sans aucune intégration de touche personnelle avec le consul. Le port par défaut pour écouter un serveur DNS dans l'agent Consul est le port 8600. Généralement, nous faisons une demande API HTTP pour la recherche de noms, mais nous pouvons ici utiliser le serveur DNS directement comme le service.États-Unis .Il est important de configurer certains détails comme client_addr, ports.DNS, Recursors, Domaine et, DNS_CONFIG.

Prérequis

  1. Une instance de serveur virtuel
  2. Consul installé sur le serveur
  3. Un utilisateur root

Mettre à jour le système

Nous vous recommandons de mettre à niveau tous les packages et référentiels disponibles avant d'effectuer une nouvelle opération. Exécutez la commande suivante et il fera le travail pour vous. Sur Linux

Mise à jour apt-get
Sur la mise à jour de Rhel / Centos Yum -y

Recherche de nœuds

Vous pouvez interroger tous les enregistrements DNS tels que les adresses hôtes, les échanges de courrier et les serveurs de noms sur la ligne de commande en utilisant l'outil DIG. Vous pouvez récupérer l'adresse de n'importe quel nœud en créant une question simple. .nœud[.centre de données]. Supposons qu'il y ait un nœud en cours d'exécution de Prome dans le centre de données DC1, vous pouvez rechercher ce nœud en utilisant la commande suivante.

se promener.nœud.dc1.consul

Si dans le cas où le nœud s'exécute dans le même centre de données que l'agent consul, vous n'avez pas besoin de spécifier le centre de données. Vous pouvez rechercher ce nœud en utilisant la commande suivante.

se promener.nœud.consul

Recherche de service

La recherche de services est une requête pour obtenir des informations sur le fournisseur de services. Le format de la recherche de service standard est le suivant: [Tag.]].service[.centre de données]. La balise est complètement facultative dans la commande ci-dessus. Supposons que vous souhaitiez rechercher un service nommé Prome dans le centre de données local, alors vous n'avez pas besoin de spécifier le centre de données également.

se promener.service.consul

Vous pouvez également utiliser la balise pour filtrer les résultats d'une requête. Supposons que vous souhaitez trouver le MariaDB primaire dans un centre de données spécifique, puis utilisez la commande suivante.

primaire.mariadb.service.dc5.consul

Utilisation du consul DNS

Dans ce guide, nous verrons différentes façons d'utiliser l'interface Consul DNS. Il existe principalement 3 façons d'utiliser le consul DNS: 1. Utilisez une bibliothèque DNS Resolver personnalisée 2. Nommez le consul comme serveur DNS pour une instance 3. Requêtes transférées pour consul TLD à partir d'un serveur DNS

Utilisez une bibliothèque DNS Custom DNS

Une façon d'utiliser l'interface Consul DNS est d'utiliser une bibliothèque DNS Resolver pour votre langue de choix et votre code interrogera directement l'interface. Appliquer une logique personnalisée à votre code sinon, vous serez limité à l'adresse IP du service. Sinon, si vous utilisez une interface DNS, vous devrez exécuter le service sur un port spécifique et votre client doit également savoir que ce port pour y accéder.

Nommez le consul comme serveur DNS pour une instance

Vous pouvez utiliser le serveur Consul DNS pour un nœud en configurant l'hôte pour fournir des requêtes DNS directement au serveur DNS de l'agent consul local. Pour ce faire, vous devrez modifier à la fois le système et la configuration de l'agent Consul.

Tout d'abord, vous devrez modifier la configuration du système. Vous devrez modifier la résolv.Fichier Conf sur le système à l'aide de n'importe quel éditeur de texte. Ici, nous utilisons Nano Text Editor.

nano résolve.confli

Le fichier doit ressembler à ceci:

Recherchez votre Domain.com
Nameserver 127.0.0.1

S'il vous plaît, n'oubliez pas de remplacer votre domain.com avec votre domaine réel.

Ensuite, votre configuration d'agent Consul devrait ressembler à ceci:


"Datacenter": "DC1",
"data_dir": "/ var / consul",
"Recursors": ["8.8.8.8 "],
"Ports":
"DNS": 53
,
"retRy_join": ["35.75.dix.85 "," 35.75.dix.111 "," 35.75.dix.123 "]

L'agent Consul continuera de pouvoir gérer les enregistrements pour les enregistrements en dehors du consul TLD même si le cluster de serveur est en panne ou indisponible.

Requêtes transférées pour consul TLD à partir d'un serveur DNS

Vous pouvez utiliser Consul DNS pour transférer toutes les requêtes à Consul Agent à partir du serveur DNS existant. Nous vous recommandons d'utiliser divers serveurs de liaisons et d'exécuter localement l'agent Consul sur tous les serveurs de liaison. De sorte que chaque fois qu'une requête est acceptée par un serveur de liaison, elle sera automatiquement expédiée à son serveur Consul DNS.

Conclusion

Dans ce guide, vous avez appris en utilisant l'interface Consul DNS dans votre cluster Consul. Vous avez également appris en utilisant le type de requêtes comme la recherche de nœuds et la recherche de service.