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