RousselTMLEARNING

Automatisation

Terraform : principes, architecture et flux de travail

Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état), flux init, plan, apply et destroy, graphe de dépendances, Terraform et OpenTofu, HCP Terraform.

1. L'infrastructure as code déclarative #

Décrire l'état voulu.

Principe #

Avec Terraform, on décrit l'état voulu de l'infrastructure dans des fichiers HCL ; Terraform calcule les actions nécessaires pour y arriver (créer, modifier, supprimer) et les exécute dans le bon ordre grâce à un graphe de dépendances.

Architecture de Terraform
Plus de 4 000 fournisseurs existent : clouds, Kubernetes, DNS, supervision, SaaS.

2. Le flux de travail #

init, plan, apply, destroy.

Commandes #

Flux de travail Terraform
Le plan est sans effet : il montre ce qui va changer.
terraform init          # télécharge les fournisseurs, configure le backend
terraform fmt -recursive && terraform validate
terraform plan -out=plan.tfplan
terraform apply plan.tfplan
terraform output
terraform destroy       # supprime tout ce que gère cette configuration

Lire un plan #

SymboleSignification
+Création
~Modification en place
-/+Remplacement (destruction puis création)
-Destruction

3. L'écosystème #

Terraform, OpenTofu, HCP Terraform.

Panorama #

OutilDescription
TerraformOutil de HashiCorp (licence BSL depuis 2023)
OpenTofuFork open source (MPL 2.0) de la Linux Foundation, compatible
HCP TerraformService managé : état distant, exécutions, politiques, registre privé
Terraform RegistryFournisseurs et modules publics
Bonne Pratique : Fixez la version de Terraform et des fournisseurs (required_version, required_providers) pour des exécutions reproductibles.

Articles liés

Le langage HCL : ressources, variables, sorties, données et expressions

Écrire du Terraform : blocs terraform, provider, resource et data, variables typées avec validation, locals, …

L'état Terraform : backends distants, verrouillage, import et refactorisation

Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurerm, gcs, HCP …

Les modules Terraform : concevoir, versionner et réutiliser

Structurer Terraform avec des modules : module racine et modules enfants, entrées et sorties, sources (local,…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !