Terraform-Installation
Terraform ist ein Infrastructure-as-Code-Tool, mit der Sie Cloud-Ressourcen über deklarative Konfigurationsdateien definieren, bereitstellen und verwalten können. Mit dem OpenStack-Provider kann Terraform VMs, Netzwerke, Volumes, Security Groups und mehr deployen — versioniert und wiederholbar.
Dieses Kapitel beschreibt, wie Sie Terraform installieren und für die OpenStack-Plattform konfigurieren.
Voraussetzungen
- Grundkenntnisse des Linux-Betriebssystems (Shell)
- Zugriff auf eine laufende Linux-VM oder Workstation (in unserem Beispiel Ubuntu/Debian) mit geöffnetem Port (Egress 443) zur OpenStack-API
- Application Credentials (
clouds.yaml) — siehe Application Credentials
Die durchzuführenden Schritte sind:
- Installation der Terraform-Binärdatei
- Konfiguration des OpenStack-Providers
- Initialisierung und ein Testlauf
Note
Terraform liest dieselbe clouds.yaml-Datei wie das OpenStack-CLI. Stellen Sie sicher, dass sie unter ~/.config/openstack/clouds.yaml abgelegt ist, bevor Sie beginnen.
Schritte:
0) Terraform installieren (Ubuntu / Debian)
Fügen Sie das HashiCorp-APT-Repository hinzu und installieren Sie 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
Überprüfen Sie die Installation:
terraform -version
Alternative: manueller Binary-Download
Für Nicht-Debian-Systeme laden Sie die Binärdatei von https://developer.hashicorp.com/terraform/downloads herunter und legen sie in Ihrem PATH ab.
1) OpenStack-Provider konfigurieren
Erstellen Sie ein Arbeitsverzeichnis für Ihr Terraform-Projekt und fügen Sie eine provider.tf-Datei hinzu:
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"
}
Der Wert cloud = "openstack" muss mit dem obersten Schlüssel in Ihrer clouds.yaml übereinstimmen. Terraform verwendet dieselbe Datei wie das OpenStack-CLI — es sind keine separaten Zugangsdaten erforderlich.
2) Projekt initialisieren
terraform init
Terraform lädt das OpenStack-Provider-Plugin herunter und erstellt ein .terraform/-Verzeichnis. Sie sollten eine Meldung sehen, die die erfolgreiche Initialisierung bestätigt.
3) Mit einer minimalen Ressource testen
Erstellen Sie eine main.tf, die eine Image-Liste liest (nur Lesezugriff, es werden keine Ressourcen erstellt):
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
}
Führen Sie einen Plan aus — dies validiert Konnektivität und Authentifizierung, ohne etwas zu erstellen:
terraform plan
Wenn alles korrekt konfiguriert ist, verbindet sich Terraform mit der OpenStack-API, löst das Ubuntu-24.04-Image auf und gibt dessen ID aus.
Herzlichen Glückwunsch, Ihr Terraform-Setup ist einsatzbereit!
Vollständige Deployment-Beispiele (VMs, Volumes) finden Sie unter: Infrastructure as Code
Weitere Informationen zum OpenStack-Provider finden Sie unter: Terraform OpenStack Provider Documentation