← Zurück zu den Tutorials
28. April 2026·5 Min. Lesezeit

OpenStack mit OpenStack-Ansible installieren (AIO)

Eine vollständige OpenStack-2025.2-Cloud auf einem einzelnen Ubuntu-24.04-Host mit OpenStack-Ansible ausrollen. Maschine vorbereiten, All-In-One-Bootstrap ausführen und das Ergebnis prüfen.

OpenStack gilt als schwer zu installieren, und eine produktive Multi-Node-Bereitstellung ist tatsächlich ein ernsthaftes Engineering-Projekt. Doch für den Einstieg oder eine Evaluierung brauchen Sie kein ganzes Server-Rack. OpenStack-Ansible (OSA) bietet einen All-In-One-Modus (AIO), der alle Kerndienste auf einem einzigen Host bereitstellt – eine vollständige, API-kompatible Cloud, die Sie nach Belieben ausprobieren, kaputt machen und neu aufbauen können.

Dieses Tutorial zeigt eine saubere AIO-Bereitstellung von OpenStack 2025.2 unter Ubuntu 24.04 LTS – exakt die Basis, die clouditiv im Produktivbetrieb einsetzt. Am Ende laufen Keystone, Nova, Neutron, Glance, Cinder, Placement und Horizon auf einer Maschine, und Sie wissen, wie Sie jeden Baustein auf korrekte Funktion prüfen.

Voraussetzungen und Host-Dimensionierung

Ein AIO-Aufbau ist ressourcenhungrig, denn er betreibt die komplette Control Plane plus einen Compute-Node in LXC-Containern auf einer Box. Betrachten Sie die folgenden Werte als Minimum, nicht als Ziel:

  • Ein dedizierter Ubuntu-24.04-LTS-Host oder eine VM (bei einer VM muss verschachtelte Virtualisierung aktiviert sein).
  • Mindestens 8 CPU-Kerne, 16 GB RAM (24 GB sind deutlich angenehmer) und 80 GB freier Speicher auf dem Root-Dateisystem.
  • Root- oder passwortloser sudo-Zugriff sowie ausgehendes Internet für Pakete und Container-Images.

Beginnen Sie mit einer Minimalinstallation, bei der nichts sonst um Ressourcen konkurriert. Prüfen Sie Release und verfügbaren Speicher vorab:

lsb_release -a
free -h
nproc

Schritt 1: Host vorbereiten

Aktualisieren Sie das System, installieren Sie git und stellen Sie sicher, dass der Kernel aktuell ist. Ein Neustart nach dem Upgrade vermeidet subtile Probleme, bei denen laufender Kernel und installierte Module nicht zusammenpassen.

sudo apt update && sudo apt dist-upgrade -y
sudo apt install -y git
sudo reboot

OSA verwaltet Netzwerk und Storage selbst – richten Sie also keine Bridges vorab ein. Die Bootstrap-Skripte erstellen die Bridges br-mgmt, br-vxlan, br-storage und br-vlan für Sie.

Schritt 2: OpenStack-Ansible klonen

Klonen Sie das Repository und wechseln Sie auf den stabilen Branch für das Release 2025.2. Das Arbeiten auf einem benannten Stable-Branch hält Ihre Bereitstellung reproduzierbar.

sudo git clone https://opendev.org/openstack/openstack-ansible /opt/openstack-ansible
cd /opt/openstack-ansible
sudo git checkout stable/2025.2

Schritt 3: Ansible und AIO-Konfiguration bootstrappen

Zwei Bootstrap-Skripte erledigen die Hauptarbeit. Das erste installiert ein gepinntes Ansible inklusive aller benötigten Rollen und Collections; das zweite erzeugt das AIO-Inventar und die Konfiguration unter /etc/openstack_deploy.

sudo scripts/bootstrap-ansible.sh
sudo scripts/bootstrap-aio.sh

Der AIO-Bootstrap schreibt openstack_user_config.yml und mehrere user_variables.yml-Overrides, die eine Single-Host-Topologie beschreiben. Wenn Sie einschränken möchten, welche Dienste bereitgestellt werden, ist jetzt der Moment, diese Dateien vor dem Playbook-Lauf anzupassen. Für einen ersten Aufbau sind die Standardwerte in Ordnung.

Schritt 4: Die Deployment-Playbooks ausführen

OSA stellt in drei geordneten Phasen bereit. Führen Sie sie aus dem Verzeichnis playbooks aus. Jede dauert eine Weile – arbeiten Sie daher in einer tmux- oder screen-Sitzung, damit eine abgebrochene SSH-Verbindung den Lauf nicht beendet.

cd /opt/openstack-ansible/playbooks
sudo openstack-ansible setup-hosts.yml
sudo openstack-ansible setup-infrastructure.yml
sudo openstack-ansible setup-openstack.yml

Die Phasen sind klar nach Zuständigkeit getrennt. setup-hosts.yml bereitet den Host vor und baut die LXC-Container. setup-infrastructure.yml stellt die gemeinsam genutzten Dienste bereit – den Galera-Cluster (MariaDB), RabbitMQ und memcached. setup-openstack.yml installiert die OpenStack-Dienste selbst. Auf einer ordentlichen Maschine läuft die gesamte Sequenz in rund ein bis zwei Stunden.

So sieht Erfolg aus

Am Ende jedes Playbooks gibt Ansible ein PLAY RECAP aus. Jede Host-Zeile sollte failed=0 zeigen:

PLAY RECAP ******************************************************
aio1                       : ok=412  changed=176  unreachable=0  failed=0
aio1_galera_container-...  : ok=98   changed=41   unreachable=0  failed=0

Schritt 5: Die Cloud verifizieren

OSA erstellt einen Utility-Container mit der OpenStack-CLI und bereits hinterlegten Admin-Zugangsdaten. Betreten Sie ihn und sourcen Sie die Admin-RC-Datei:

sudo lxc-attach -n $(lxc-ls -1 | grep utility)
source /root/openrc
openstack endpoint list --service identity

Führen Sie nun einige Lesebefehle aus, um zu bestätigen, dass die wichtigsten Dienste antworten. Wenn diese fehlerfrei zurückkehren, ist Ihre Control Plane gesund:

openstack service list
openstack compute service list
openstack network agent list
openstack hypervisor list

Glance enthält bereits ein kleines Cirros-Testimage, das der Bootstrap hochlädt – ideal für eine erste Instanz später:

openstack image list

Rufen Sie schließlich das Horizon-Dashboard im Browser auf. Standardmäßig lauscht es auf der internen VIP des Hosts über HTTPS. Passwort und Adresse finden Sie mit:

grep keystone_auth_admin_password /etc/openstack_deploy/user_secrets.yml
grep -m1 horizon /etc/openstack_deploy/openstack_inventory.json

Häufige Fehler und Fehlersuche

Die meisten Fehler beim ersten Lauf fallen in wenige Kategorien. So lesen Sie sie.

Ein Playbook bricht mitten im Lauf ab

Lesen Sie den letzten fatalen Fehler und starten Sie genau dieses Playbook erneut. OSA-Tasks sind idempotent, sodass ein erneuter Lauf nach einem vorübergehenden Paketspiegel- oder Netzwerkproblem fast immer konvergiert. -vv liefert mehr Details zur fehlschlagenden Aufgabe.

Galera- oder RabbitMQ-Container startet nicht

Das ist die klassische AIO-Hürde und bedeutet fast immer, dass ein vorheriger Lauf eine halb initialisierte Datenbank oder veraltete Ansible-Facts hinterlassen hat. Ein erneutes setup-infrastructure.yml behebt es meist; ist ein Galera-Container wirklich blockiert, gibt ihm das Zerstören genau dieses Containers und ein erneuter Phasenlauf eine saubere Basis.

Speicher- oder Plattenmangel während setup-openstack

Wenn der OOM-Killer des Kernels zuschlägt oder eine Aufgabe beim Schreiben von Dateien scheitert, ist der Host unterdimensioniert. Ergänzen Sie RAM und Swap, schaffen Sie Plattenplatz und starten Sie das fehlgeschlagene Playbook erneut.

Abbau

Da AIO für Experimente gedacht ist, liefert OSA ein Teardown-Skript mit, das Container und Konfiguration entfernt, damit Sie neu beginnen können:

cd /opt/openstack-ansible
sudo ./scripts/teardown.sh

Fazit

Ein OpenStack-Ansible-AIO-Aufbau ist der schnellste ehrliche Weg, eine echte, voll funktionsfähige OpenStack-Cloud vor sich zu haben. Er ist zugleich ein nützlicher Realitätscheck: Selbst der Single-Node-Pfad umfasst Bridges, eine LXC-Flotte, einen Galera-Cluster und einen mehrphasigen Ansible-Lauf, den Sie nun gepatcht, überwacht und gesichert halten müssen. Sobald alles läuft, sind die nächsten Schritte naheliegend: ein Projekt und einen Benutzer mit Keystone anlegen und anschließend die erste Instanz starten.

Diesen Betriebsaufwand über einen ausfallsicheren Multi-Node-Cluster zu multiplizieren, ist genau die Arbeit, die clouditiv Ihnen abnimmt. Wir betreiben denselben Stack – Ubuntu 24.04 und OpenStack 2025.2 – als gemanagte, souveräne Private Cloud mit Datenhaltung in Deutschland, und unsere Automatisierung stellt eine produktionsreife Umgebung in unter 60 Minuten bereit. Wenn Sie OpenStack lieber nutzen als betreiben möchten, werfen Sie einen Blick auf unsere On-Premise-Cloud und das automatisierte Provisioning.