Aller au contenu

Installation de Terraform

Terraform est un outil d'infrastructure-as-code qui vous permet de définir, de provisionner et de gérer des ressources cloud au moyen de fichiers de configuration déclaratifs. Avec le provider OpenStack, Terraform peut déployer des VM, des réseaux, des volumes, des groupes de sécurité et bien plus encore, le tout versionné et reproductible.

Ce chapitre décrit comment installer Terraform et le configurer pour la plateforme OpenStack.

Prérequis

  • Connaissances de base du système d'exploitation Linux (shell)
  • Accès à une VM Linux ou à un poste de travail en fonctionnement (Ubuntu/Debian dans notre exemple) avec un port ouvert (sortie 443) vers l'API OpenStack
  • Application Credentials (clouds.yaml), voir Application Credentials

Les étapes à réaliser sont :

  • L'installation du binaire Terraform
  • La configuration du provider OpenStack
  • L'initialisation et un test d'exécution

Note

Terraform lit le même fichier clouds.yaml que l'OpenStack CLI. Assurez-vous qu'il se trouve dans ~/.config/openstack/clouds.yaml avant de commencer.

Étapes :

0) Installer Terraform (Ubuntu / Debian)

Ajoutez le dépôt APT HashiCorp et installez Terraform :

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

sudo apt update
sudo apt install -y terraform

Vérifiez l'installation :

terraform -version

Alternative : téléchargement manuel du binaire

Pour les systèmes non Debian, téléchargez le binaire depuis https://developer.hashicorp.com/terraform/downloads et placez-le dans votre PATH.

1) Configurer le provider OpenStack

Créez un répertoire de travail pour votre projet Terraform et ajoutez un fichier provider.tf :

mkdir -p ~/terraform-openstack && cd ~/terraform-openstack
vim provider.tf
terraform {
  required_providers {
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = "~> 1.53"
    }
  }
}

provider "openstack" {
  cloud = "openstack"
}

La valeur cloud = "openstack" doit correspondre à la clé de premier niveau de votre clouds.yaml. Terraform utilise le même fichier que l'OpenStack CLI, aucun identifiant distinct n'est nécessaire.

2) Initialiser le projet

terraform init

Terraform télécharge le plugin du provider OpenStack et crée un répertoire .terraform/. Un message devrait confirmer la réussite de l'initialisation.

3) Tester avec une ressource minimale

Créez un fichier main.tf qui lit une liste d'images (en lecture seule, aucune ressource créée) :

data "openstack_images_image_v2" "ubuntu" {
  name        = "Ubuntu 24.04"
  most_recent = true
}

output "ubuntu_image_id" {
  value = data.openstack_images_image_v2.ubuntu.id
}

Exécutez un plan : cela valide la connectivité et l'authentification sans rien créer :

terraform plan

Si tout est correctement configuré, Terraform se connecte à l'API OpenStack, résout l'image Ubuntu 24.04 et affiche son ID.

Félicitations, votre installation de Terraform est opérationnelle !

Pour des exemples de déploiement complets (VM, volumes), voir : Infrastructure as Code

Pour plus d'informations sur le provider OpenStack, consultez : Terraform OpenStack Provider Documentation