Introduction à Terraform

Introduction à Terraform

Dans les temps antérieurs, le processus de provision de l'infrastructure informatique était une manuelle et très épuisante. Les administrateurs / gestionnaires de serveurs doivent configurer les serveurs physiquement. De plus, cette approche était coûteuse et sujette à de nombreuses erreurs, en particulier les erreurs de fabrication humaine. De plus, il y avait un manque d'agilité. Avec l'évolution de la taille de l'infrastructure informatique, il a été pensé à développer une nouvelle approche pour gérer cette condition. Cela a donné naissance à la soi-disant infrastructure en tant que technique du code (IAC).

Infrastructure as Code (IAC) est une technique dans laquelle les composants d'un réseau, comme les instances de calcul, les réseaux, les machines virtuelles, etc., sont automatiquement gérés au lieu de faire le même processus manuellement. Terraform est un produit de techniques basées sur l'IAC. L'objectif principal de Terraform est d'orchestrer le déploiement de ressources ou de services sur diverses plateformes d'infrastructure. Ces plateformes peuvent être des fournisseurs de services basés sur le cloud, des machines virtuelles, etc.

Ce que nous allons explorer ici

Après une petite introduction à IAC et Terraform, nous continuerons avec l'installation de Terraform et comment cela fonctionne. Procédons avec l'installation de Terraform sur Ubuntu 20.04.

Comment installer Terraform

Un package Terraform officiel pour Ubuntu / Debian, Centos / Rhel, Fedora et Amazon Linux est distribué par les gestionnaires de packages de ces distributions. Des binaires précompilés sont également disponibles en téléchargement sur le site Web de Terraform. Enregistrez ce fichier binaire sur votre système, extraire et exécutez-le. Assurez-vous que le chemin est correctement défini. Alternativement, nous pouvons le compiler en utilisant le code source.

Étape 1. Commencez par installer GNUPG, Software-Properties-Common et Curl Packages. Cette étape est pour valider la signature GPG fournie par Hashicorp. Pour accomplir cette tâche, ouvrez un terminal (cliquez simultanément sur les touches Ctrl + Alt + T) et exécutez la commande suivante:

$ sudo apt-get update && sudo apt-get install -y gnupg logiciel-properties-commun curl

Étape 2. Pour ajouter la touche Hashicorp GPG, exécutez la commande suivante:

$ curl -fssl https: // apt.sorties.hashicorp.com / gpg | sudo apt-key ajouter -

Étape 3. Maintenant, procédez au référentiel en exécutant la commande suivante:

$ sudo apt-add-repository "deb [arch = amd64] https: // apt.sorties.hashicorp.com $ (lsb_release -cs) Main "

Étape 4. Après avoir ajouté le référentiel, nous sommes tous configurés pour ajouter le référentiel pour installer Terraform. Utilisez la commande suivante:

$ sudo apt-get update && sudo apt-get install terraform

Étape 5. Enfin, vérifiez si Terraform est installé sur votre système à l'aide de la commande suivante:

$ Terraform - Version

Fonctionnement de Terraform

Terraform utilise ses API pour fournir et gérer des ressources sur différentes plates-formes et services basés sur le cloud. Terraform a développé des fournisseurs pour travailler avec n'importe quelle plate-forme ou service à l'aide d'une API. Il y a plus de 1700 fournisseurs pour gérer de nombreuses ressources et services. Le registre Terraform contient des fournisseurs accessibles au public. Par exemple, il a Amazon AWS, Microsoft Azure, Google, GCP, etc.

Il y a principalement trois étapes dans un flux de travail Terraform:

  1. Écrire: À ce stade, les ressources sont définies pour un cas particulier. Par exemple, on pourrait être intéressé à déployer un serveur Web avec un VPC personnalisé et à le configurer avec un équilibreur de charge et des groupes de sécurité.
  1. Plan: Cette étape élabore un plan d'exécution qui décrit les modifications apportées à l'infrastructure. Par exemple, il montre quelles ressources seront ajoutées, mises à jour ou détruites.
  1. Appliquer: C'est la dernière étape où les opérations prévues sont enfin appliquées après la confirmation. Ceux-ci sont appliqués dans un ordre spécifique.

TerraForm utilise des fichiers configaux pour définir à quoi devrait ressembler une infrastructure. Il est le plus important utile pour provisionner une infrastructure qui augmente avec le temps. Par exemple, nous ajoutons une machine virtuelle à l'intérieur d'un VPC à une infrastructure. Ensuite, un autre jour, nous ajoutons plus de machines virtuelles, un équilibreur de charge, etc. Cela augmente la complexité globale de l'infrastructure.

Voyons comment Terraform Workflow gère cette complexité:

  1. Premièrement, nous devons créer un fichier Terraform et déclarer les principales ressources et autres choses nécessaires ici. Enregistrer le fichier avec un .Extension TF.
  1. Ensuite, nous exécutons une commande Terraform «Plan Terraform», qui compare l'état réel avec l'état souhaité.
  1. Enfin, lorsque tout semble parfait, nous appliquons le plan ci-dessus et faisons tourner les ressources que nous avons définies plus tôt dans le fichier Terraform.

De cette façon, Terraform fonctionne pour le déploiement du premier jour, générant quelque chose à partir de rien. Si nous voulons ajouter de nouvelles ressources à la configuration, nous devons les déclarer dans le fichier de configuration. Le Terraform vérifiera l'état initial avec l'état souhaité et créera l'état souhaité. Terraform ne fait que les modifications nécessaires pour atteindre l'état souhaité.

Obtenir de l'aide

Pour répertorier toutes les commandes disponibles avec le Terraform, utilisez la commande «Aide» suivante:

$ terraform -Help

Pour explorer une commande particulière, par exemple, «Plan», utilisez la commande suivante:

$ Terraform -Help Plan

Conclusion

Dans cet article, nous avons vu une vue de haut niveau de Terraform. Terraform est un sujet très intéressant à apprendre et à simplifier la complexité des infrastructures. Vérifiez les articles LinuxHint pour des tutoriels plus intéressants.