Zum Inhalt

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