Comment utiliser l’interface de ligne de commande (CLI) de Terraform sur Ubuntu

Terraform est un cadre pour construire et configurer une infrastructure en tant que code, avec une interface en ligne de commande et un langage DSL. Terraform peut gérer des fournisseurs de services existants et populaires ainsi que des solutions internes personnalisées pour construire et configurer des centres de données distribués complets.

L’interface en ligne de commande (CLI) de Terraform te permet d’utiliser Terraform sans avoir à écrire de code ou de fichiers de configuration. C’est un moyen idéal de prototyper des changements d’infrastructure avec ton équipe avant d’écrire du code, de déployer des configurations localement sur ta machine ou de les pousser en production. La CLI s’appuie sur le format de fichier terraformspec qui a été créé à cet effet par des tiers, comme la boîte à outils CLI Nomad de HashiCorp.

La trousse à outils CLI met en œuvre un DSL JavaScript pour définir l’infrastructure et utilise le même format de configuration dans Terraform et dans la CLI. La trousse à outils CLI fournit également des commandes pour générer des modèles d’infrastructure, composer des composants d’infrastructure en solutions complètes et gérer les changements. L’ensemble du flux de travail de Terraform est piloté par des fonctions sans état qui sont définies dans le code et exécutées par Terraform chaque fois que tu fais une modification. Cela te permet de penser à ton infrastructure comme à une conception unique qui peut être facilement modifiée au moment de l’exécution sans recharger ta configuration ou modifier ta base de code.

Un certain nombre de professionnels de l’informatique et d’entreprises utilisent l’interface de ligne de commande Terraform pour gérer et même créer de nouvelles infrastructures ou de nouvelles infrastructures de cloud. L’interface de ligne de commande terraform peut fournir une méthode plus robuste pour automatiser les modifications qui prendraient trop de temps à effectuer à la main. C’est un outil puissant pour gérer l’infrastructure.

Il est facile de voir pourquoi Terraform est l’une des solutions d’approvisionnement en nuage open-source les plus populaires au monde. C’est un outil utilisé par des gens de Linux comme toi !

Tu trouveras à l’intérieur des explications complètes et des exemples des commandes CLI Terraform les plus utilisées qui ont été spécialement sélectionnées pour te donner une expérience pratique des fonctions les plus puissantes de Terraform.

Conditions préalables

  • Pour pouvoir suivre cet article, tu dois avoir :
  • Une certaine connaissance de base des caractéristiques et fonctions de Terraform.
  • Une machine Linux. Cette démo utilise Ubuntu 20.04 LTS, mais n’importe quelle distribution Linux fonctionnera.
  • Terraform et docker installés sur la machine.

Cloner le code principal

Maintenant que tu as pris soin des conditions préalables, tu es prêt à commencer à cloner le code principal pour utiliser le CLI de Terraform.

1. Exécute la commande apt install ci-dessous pour installer git sur ton système. Git est un système de contrôle de révision distribué open-source conçu pour gérer tout, des petits aux très gros projets, avec rapidité et efficacité. Tu utiliseras git pour cloner le modèle de projet de l’interface de ligne de commande terraform depuis github.com. Puis tu vérifieras la version correcte de la ligne de commande terraform pour cette démo.

sudo apt install git -y

Installe git sur ton système

2. Exécute la commande git clone ci-dessous pour cloner le modèle de projet de ligne de commande terraform dans ton répertoire actuel.

git clone https://github.com/howtoforge-com/terraform-cli.git

clone le modèle de projet en ligne de commande terraform

3. Déplace-toi dans le répertoire terraform-cli nouvellement cloné et ouvre le fichier main.tf avec ton éditeur de texte préféré (vim, emacs, nano, etc.). Le fichier main.tf est le point d’entrée de ton projet dans l’interface de ligne de commande (Cli) de terraform. Lorsque tu exécutes la commande terraform, elle utilise le fichier main.tf comme entrée pour les instructions sur la façon de construire ton infrastructure.

cd terraform-cli && sudo nano main.tf

Tu obtiendras le résultat suivant.

ouvre le fichier main.tf avec ton éditeur de texte préféré

  • La section terraform { } du fichier main.tf ne fait rien d’autre que de définir le fournisseur docker en tant que required_provider. Pour que Terraform puisse gérer ton infrastructure Docker, tu dois avoir configuré le fournisseur docker.

  • La ressource « docker_image » « nginx » { bloc de code démontre l’utilisation de la CLI de terraform en créant une nouvelle ressource appelée docker_image. La ligne suivante utilise l’ image docker pour créer une ressource appelée nginx. Tu peux en déduire que cette ressource sera utilisée pour gérer ton conteneur Docker. La ligne suivante définit le nom de ton image docker comme nginx:latest.Le paramètre keep_locally = false empêche la mise en cache locale de l’image sur ta machine et est une bonne idée pour éviter les téléchargements en double.

Aperçu de la section des ressources

  • Laressource « docker_container » « nginx » { démontre l’utilisation de la CLI de terraform en créant une nouvelle ressource appelée docker_container. La ligne suivante utilise le docker_container pour créer une ressource appelée nginx. Celle-ci sera utilisée pour gérer le mappage des ports de ton conteneur Docker. La ligne suivante définit le nom de ton conteneur Docker comme tutorial et enfin, elle montre comment mapper le port 8000 et le port 80 de ta machine hôte sur ton conteneur Docker à l’aide du bloc de ports.

Aperçu de la section des ressources

Utilisation de l’interface de ligne de commande (CLI) de Terraform pour créer ta première infrastructure

Maintenant que tu as cloné le modèle de projet terraform, tu peux construire ta première infrastructure. Tu vas utiliser l’interface de ligne de commande Terraform pour créer une infrastructure à l’aide du fichier main.tf de ton projet. Tu vas créer un conteneur docker et mapper un port de ta machine hôte au conteneur docker.

1. Tout d’abord, exécute la commande terraform init pour initialiser ton répertoire de travail. La commande terraform init initialise ton répertoire de travail et télécharge tous les plugins nécessaires pour que Terraform puisse gérer ton infrastructure. Un répertoire de travail est le répertoire dans lequel tu utiliseras la commande terraform pour gérer ton infrastructure. Une fois initialisé, ce répertoire contient un fichier main.tf et peut contenir plusieurs fichiers de soutien.

terraform init

Après avoir exécuté avec succès la commande terraform init, tu recevras la sortie suivante.

Initialise ton répertoire de travail

2. Ensuite, exécute la commande terraform fmt pour reformater automatiquement ton fichier main.tf pour plus de lisibilité et de cohérence.La commande terraform fmt reformatera ton fichier main.tf pour plus de lisibilité et de cohérence. C’est une bonne pratique à suivre car cela rendra tes fichiers plus faciles à lire pour toi et les autres.

terraform fmt

Si la commande terraform fmt a modifié tes main.tf, elle imprimera le nom du fichier qu’elle a reformaté. Dans cette démo, la sortie est vide car le fichier main.tf était déjà formaté à la convenance de Terraform, comme indiqué ci-dessous.

Formate ton fichier main.tf pour qu'il soit lisible et cohérent.

3. Exécute la commande terraform validate pour t’assurer que ton infrastructure sera construite comme prévu. La commande terraform validate est un contrôle de sécurité pour vérifier que ton infrastructure peut être construite comme prévu.

terraform validate

S’il n’y a pas d’erreur, tu recevras une sortie similaire à celle qui suit, indiquant que tout est prêt pour construire ta première infrastructure.

4. Exécute la commande terraform plan pour voir ce que Terraform fera pour construire l’infrastructure. La commande terraform plan est un aperçu de ce que Terraform prévoit de construire et n’est pas la même chose que terraform apply.

terraform plan

La commande terraform plan produit la structure suivante, montrant qu’elle va créer une instance de ressource docker_container nommée nginx et une ressource docker_image nommée tutorial.

Visualiser le plan de terraformation

5. Exécute la commande terraform apply pour appliquer les modifications que tu as prévisualisées avec terraform plan. La commande terraform apply va construire ton infrastructure. La commande terraform apply créera toutes les ressources décrites dans ton fichier de configuration Terraform main.tf.

Cette commande réutilisera l’évaluation des variables, contraintes et mappings de la commande terraform plan pour produire le plan le plus efficace possible. Toute option supplémentaire spécifiée sur la ligne de commande avec terraform apply sera utilisée lors de l’exécution de la commande apply. Entre oui et appuie sur Entrée lorsqu’on te demande d’entrer une valeur.

terraform apply

applique ta modification

Une fois que la commande terraform apply a réussi, tu verras un message indiquant que ton infrastructure a été construite avec succès, comme indiqué ci-dessous. Lorsque cela se produit, cela signifie que ton infrastructure a été construite comme prévu et qu’elle est à jour avec ton fichier de configuration.

Construire ton infrastructure

6. Exécute la commande ls pour répertorier tous les fichiers de ton répertoire de travail. Tu verras un nouveau fichier nommé terraform.tfstate comme indiqué ci-dessous. Un fichier de ce nom est créé pour suivre les modifications apportées à ton infrastructure. La commande terraform plan stocke les modifications qui seront appliquées lors de l’exécution de terraform apply dans un fichier intermédiaire nommé .tfstate. Le fichier d’état contient l’état complet de l’infrastructure tel que Terraform le voit. Ce fichier est nécessaire pour appliquer toute configuration et doit être transféré lors des modifications, même si la cible se trouve dans le même fournisseur.

ls

liste tous les fichiers de ton répertoire de travail

7. Le processus de construction est maintenant terminé. Exécute la commande terraform destroy pour détruire l’infrastructure que tu viens de construire. Entreoui et appuie sur Entrée lorsqu’on te demande d’entrer une valeur.La commande terraform destroy supprimera toutes les ressources créées par cette démo. La commande terraform destroy supprimera toutes les ressources décrites dans ton fichier de configuration Terraform main.tf. Une fois que les ressources sont détruites, elles ne peuvent pas être récupérées.

Tu devrais supprimer les ressources inutilisées pour garder la configuration d’un environnement sous contrôle. Il ne s’agit pas de couvrir les défaillances, mais de les prévenir en empêchant l’accumulation de ressources inutilisées.

 terraform destroy

détruire l'infrastructure

Conclusion

Dans ce tutoriel, tu as appris à utiliser les concepts Terraform les plus courants démontrés dans un exemple pour créer ta première infrastructure. Tu as appris à utiliser la CLI de Terraform pour construire une infrastructure à l’aide du fichier main.tf de ton projet. Le CLI peut être utilisé pour planifier, appliquer et détruire ton infrastructure.

Tu as maintenant les outils nécessaires pour construire ta propre infrastructure. Tu peux gérer un large éventail de ressources avec facilité, grâce au langage de configuration complet et expressif de Terraform.

Tu peux tirer parti de tes nouvelles connaissances en matière de gestion d’infrastructure, déjà utilisées pour les conteneurs Docker, Kubernetes et OpenStack, pour apporter plus d’efficacité et de cohérence à ta pratique de l’infrastructure-as-code.

Vous aimerez aussi...