Automatisierung & Infrastructure as Code
Sich durch Horizon und das Cloud Services Portal zu klicken, reicht für eine erste VM — für wiederholbare Infrastruktur wollen Sie Code. Diese Seite zeigt die drei unterstützten Automatisierungswege: das OpenStack-CLI (OSC), Terraform und Ansible.
Voraussetzungen
- Eine Linux-Workstation (oder VM) mit Egress zur OpenStack-API auf Port 443.
- Grundlegende Shell-Kenntnisse.
- Ein Application Credential aus Horizon (siehe unten).
1. Application Credential besorgen
Für jede Automatisierung brauchen Sie Zugangsdaten, die keinen interaktiven Login erfordern. Application Credentials sind die empfohlene Option — projektbezogen, widerrufbar und ohne Preisgabe Ihres Horizon-Passworts.
In Horizon: Identity → Application Credentials → Create Application Credential. Laden Sie die erzeugte clouds.yaml herunter und legen Sie sie unter ~/.config/openstack/clouds.yaml ab.
Secret jetzt speichern
Das Secret des Application Credential wird nur einmal angezeigt. Wenn Sie es verlieren, müssen Sie ein neues Application Credential erstellen.
2. OpenStack-CLI (OSC) installieren
OSC fasst Compute-, Identity-, Image-, Object-Storage- und Block-Storage-Befehle in einer Shell zusammen. Wir empfehlen die Installation in einem Python-venv oder pyenv.
pip install -U "python-openstackclient<6.1.0" "python-keystoneclient<5.1.0"
Setzen Sie OS_CLOUD=openstack (passend zum obersten Schlüssel in Ihrer clouds.yaml) und testen Sie:
openstack image list
Vollständige OSC-Installationsanleitung
3. Mit OSC bereitstellen
Ein VM-Deploy in einem Befehl:
openstack server create vm-u2404-az2 \
--image "Ubuntu 24.04" \
--flavor m1.small \
--key-name foo-key \
--network foo-net \
--security-group default \
--availability-zone ch-zh1-az2
4. Mit Terraform bereitstellen
Terraform ist der empfohlene Weg für Produktionsinfrastruktur — deklarativer State, Plan-/Apply-Workflow und Modularisierung.
Vollständige Terraform-Installationsanleitung
resource "openstack_compute_instance_v2" "instance_1" {
name = "vm-u2404-az2"
image_name = "Ubuntu 24.04"
flavor_name = "m1.micro"
key_pair = "foo-key"
security_groups = ["default"]
availability_zone = "ch-zh1-az2"
network { name = "foo-net" }
}
5. Mit Ansible bereitstellen
Wenn Sie bereits Ansible nutzen, deployt das Modul os_server Instanzen direkt:
Vollständige Ansible-Installationsanleitung
- os_server:
name: "foo-u2404-az2"
image: "Ubuntu 24.04"
key_name: "foo-key"
flavor: "m1.micro"
network: "foo-net"
security_groups: "default"
availability_zone: "ch-zh1-az2"
OSC-/Ansible-/Terraform-Beispiele
Heat-Orchestrierung
Heat (die native Orchestrierungs-Engine von OpenStack) wird auf dieser Plattform nicht angeboten. Verwenden Sie für Infrastructure as Code Terraform oder Ansible.
Nächster Schritt
Sie haben nun das vollständige Bild — Konzepte, Login, erste VM, erster Bucket und Automatisierung. Das Glossar ist Ihre Referenz für unbekannte Begriffe, die restliche Dokumentation geht tiefer:
- OpenStack — Netzwerk, Load Balancer, IPv6, Port-Forwarding, DNS.
- Cloud Services Portal — Backups, Kubernetes, Quota-Verwaltung, Nutzung.