Comment utiliser des modèles avec consul

Comment utiliser des modèles avec consul
Le modèle de consul est un outil simple et puissant qui remplit les valeurs de Consul dans le système de fichiers. Les modèles de consul peuvent également exécuter certaines commandes. Généralement, le modèle de consul s'exécute comme un démon, et ce démon peut interroger un cluster de consul et met à jour n'importe quel nombre de modèles spécifiés sur le système de fichiers. Le modèle de consul est largement utilisé pour mettre à jour les fichiers de configuration du service.

Prérequis

  1. Un serveur d'instance virtuel
  2. Un utilisateur root
  3. Consul installé sur le serveur

Mettre à jour le système

Nous vous recommandons de mettre à niveau tous les packages et référentiels avant d'installer un nouveau package sur le système. Exécutez la commande suivante et il fera le travail pour vous.

Mise à jour apt-get

Installer le modèle de consul

Dans ce guide, nous supposons que vous avez déjà installé un consul sur le serveur et créé un cluster de consul. Nous allons maintenant installer et utiliser le modèle de consul, mais l'agent Consul doit être exécuté pour l'utilisation du modèle de consul. Le modèle de consul n'est pas ajouté par défaut dans le package Consul Server, nous devrons le télécharger et l'installer séparément. Pour ce faire, vous devrez télécharger le dernier modèle de consul binaire depuis sa page Web de téléchargement officiel. Exécutez la commande suivante et il fera le travail pour vous.

Curl -o https: //.hashicorp.com / consul-template / 0.20.0 / consul
-template_0.20.0_linux_amd64.tgz

Ensuite, vous devrez extraire les archives ci-dessus en utilisant la commande suivante.

TAR -ZXF Consul-Template_0.20.0_linux_amd64.tgz

Vous pouvez également l'installer localement à l'aide de docker si vous le souhaitez. Une fois que le Docker est installé sur votre système, vous pouvez cloner le référentiel officiel du modèle de consul en utilisant la commande suivante.

git clone https: // github.com / hashicorp / consul-template.git

Ensuite, exécutez la commande suivante pour compiler le modèle de consul binaire. Faire Dev maintenant, vous avez installé avec succès le modèle de consul sur votre serveur.

Configuration du modèle de consul

Nous avons un modèle de consul installé sur votre système maintenant nous sommes prêts à l'utiliser. Voici un exemple de fichier de configuration pour la configuration de CTEMPLAT CONSUL-Template.HCL.

consul
adresse = "Locahost: 8500"
recommencez
activé = true
tentatives = 12
backoff = "250 ms"

token = "w94rimkutqh1a4vjgn + t + vn1y0nerc / ch93e1f1zchu ="

reload_signal = "sighup" kill_signal = "sigint" max_stale = "10m" log_level = "warn" # #
pid_file = "/ consul-template / consul-template.pid "attendre
min = "5s"
max = "10s"

sauter
adresse = "
[http: // localhost: 8200] (http: // localhost: 8200 /) "
token = "r / uf0tya5ykhplpnll807kwj4ziji3clyqefamorsjg"
renive_token = false

deduplicate
activé = true
# prefix = "consul-template / dedup /"

modèle
source = "./ Vault / Templates / PKI / CERT.ctmpl "
destination = "./ Vault / Output / PKI / MPATEL.ton domaine.com.CRT "
perms = 0400
Left_delimiter = ""
right_delimiter = ""
attendez
min = "2s"
max = "10s"


modèle
source = "./ Vault / Templates / PKI / CA.ctmpl "
destination = "./ Vault / Output / PKI / MPATEL.ton domaine.com.Californie.CRT "

modèle
source = "./ Vault / Modèles / PKI / CLÉ.ctmpl "
destination = "./ Vault / Output / PKI / MPATEL.ton domaine.com.clé"

Dans le fichier de configuration ci-dessus, veuillez modifier l'adresse du consul, l'adresse du coffre-fort, le jeton de consul, le jeton de coffre. Vous pouvez maintenant exécuter le modèle de consul en utilisant la commande suivante.

./ Consul-Template -Config Config.HCL

Créer des certificats dynamiquement avec le coffre-fort

Vault est un outil open source largement connu pour gérer les données secrètes. Ici, nous verrons une autre utilisation du modèle de consul pour créer des certificats dynamiquement avec Vault. Le modèle de consul peut exécuter plus d'un modèle. Afin de créer des certificats de manière programmatique, vous aurez besoin de ces trois modèles indiqués ci-dessous.

  1. Californie.ctmpl
- / * ./ Vault / Templates / CA.ctmpl * / -
avec secret "pki-int / problème / generator" "Common_name = yourDomain.com "
.Données.émission_ca end
  1. ctmpl
- / * ./ Vault / Templates / CERT.ctmpl * / -
avec secret "pki-int / problème / generator" "Common_name = yourDomain.com "
.Données.certificat end
  1. ctmpl
- / * ./ Vault / Templates / Clé.ctmpl * / -
avec secret "pki-int / problème / generator" "Common_name = yourDomain.com "
.Données.private_key end

N'oubliez pas de remplacer Com par votre domaine réel. Les trois modèles ci-dessus sont trois modèles d'entrée différents, mais ils seront compressés en un seul appel API lorsqu'ils s'exécutent sous le même processus de modèle de consul. Maintenant, lorsque vous disposez de tout le modèle de consul ci-dessus et de la configuration, vous pouvez l'utiliser pour créer des certificats dynamiquement à l'aide de la commande suivante.

./ Consul-Template -Config Config.HCL

Vous pouvez également utiliser le modèle de consul pour découvrir tous les services exécutés dans votre cluster Consul. Pour ce faire, vous devrez créer un modèle enregistré en tant que services.TPL.

tous les services.TPL
Range Services # .Nom service de gamme .Nom
.Adresse end
finir

Une fois que vous avez créé le modèle maintenant, vous devrez exécuter le modèle. Cette fois, nous allons simplement spécifier le fichier de modèle pour exécuter le modèle. Exécutez la commande suivante pour exécuter le modèle.

Consul-Template -Template = "All-Services.TPL: tous les services.txt "-once

Nous avons utilisé un drapeau - une fois dans la commande ci-dessus pour exécuter le processus une fois, puis il quittera automatiquement. Vous verrez la sortie suivante pour les services en cours d'exécution:

# consul
35.75.121.88
# redis
35.75.86.171
35.75.109.224
35.75.59.65
# la toile
192.168.86.205
192.168.109.224
192.168.59.110

Conclusion

Dans ce guide, vous avez appris à installer et à configurer un modèle de consul sur votre serveur. Vous pouvez maintenant utiliser le modèle de consul pour effectuer diverses opérations sur vos applications. Nous espérons que vous avez maintenant suffisamment de connaissances pour travailler avec le modèle de consul.