Zum Inhalt

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: