Ansible-Installation
Ansible ist ein Automatisierungs-Tool, das Infrastruktur über prozedurale "Playbooks" in YAML bereitstellt und konfiguriert. Mit der openstack.cloud-Collection kann Ansible VMs deployen, Netzwerke verwalten und mehrstufige Deployments direkt über die OpenStack-API orchestrieren.
Dieses Kapitel beschreibt, wie Sie Ansible 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) mit geöffnetem Port (Egress 443) zur OpenStack-API
- Application Credentials (
clouds.yaml) — siehe Application Credentials
Die durchzuführenden Schritte sind:
- Installation von Ansible
- Installation der OpenStack-Collection
- Ein Testlauf
Note
Ansible 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) Ansible installieren
Wir empfehlen die Installation von Ansible in einer Python-Virtual-Environment, um Versionskonflikte mit Systempaketen zu vermeiden.
sudo apt update
sudo apt install -y python3-venv
python3 -m venv ~/ansible-venv
source ~/ansible-venv/bin/activate
pip install -U pip
pip install -U ansible "openstacksdk<0.102.0"
Überprüfen Sie die Installation:
ansible --version
Tip
Das Paket openstacksdk wird von der openstack.cloud-Collection benötigt. Pinnen Sie es auf <0.102.0, um die OSC-Kompatibilität zu gewährleisten — siehe OSC-Installation.
1) OpenStack-Collection installieren
ansible-galaxy collection install openstack.cloud
Dies installiert die Module os_server, os_network, os_volume, os_image_info und weitere, die zur Verwaltung von OpenStack-Ressourcen verwendet werden.
2) Cloud-Umgebung konfigurieren
Ansible verwendet die Umgebungsvariable OS_CLOUD, um den Cloud-Eintrag aus Ihrer clouds.yaml auszuwählen:
export OS_CLOUD=openstack
Fügen Sie diese Zeile zu Ihrer ~/.bashrc hinzu, um sie dauerhaft zu machen.
3) Konnektivität testen
Führen Sie einen Ad-hoc-Befehl aus, um zu überprüfen, ob Ansible die OpenStack-API erreicht:
ansible localhost -m openstack.cloud.os_image_info
Wenn alles korrekt konfiguriert ist, verbindet sich Ansible mit der OpenStack-API und listet die verfügbaren Images auf.
Note
Der alte Modulname os_image_info und der neue FQCN openstack.cloud.os_image_info sind beide gültig. Wir empfehlen, in Playbooks den FQCN zu verwenden, für mehr Klarheit.
Herzlichen Glückwunsch, Ihr Ansible-Setup ist einsatzbereit!
Vollständige Deployment-Beispiele (VMs, Volumes) finden Sie unter: Infrastructure as Code
Weitere Informationen zur OpenStack-Collection finden Sie unter: Ansible OpenStack Collection