Ansible-Sammlung
Automatisieren Sie die VergeOS-Infrastruktur mit der vergeio.vergeos-Ansible-Sammlung — Module für VM-Snapshots, Tagging und Importe sowie ein dynamisches Inventar-Plugin für Multi-Site-Umgebungen.
Ansible bringt agentenlose, Push-basierte Automatisierung in das Infrastrukturmanagement. Die vergeio.vergeos Die Ansible-Collection erweitert Ansible um speziell entwickelte Module und ein Inventory-Plugin für VergeOS und ermöglicht es Ihnen, VM-Snapshots zu verwalten, Ressourcen mit Tags zu organisieren, VM-Images zu importieren und Infrastruktur über mehrere Standorte hinweg dynamisch zu erkennen — alles über vertraute YAML-Playbooks.
Überblick über die Collection
Die VergeOS-Ansible-Collection wird auf Ansible Galaxy veröffentlicht und integriert sich direkt über das in die VergeOS REST-API pyvergeos Python SDK.
Namespace
vergeio
Collection
vergeos
Vollständige Referenz
vergeio.vergeos
Python
>= 3.9
Ansible
>= 2.14.0
SDK-Abhängigkeit
pyvergeos >= 1.0.1
Quelle
Installation
Installieren Sie die Collection aus Ansible Galaxy:
# Installation von Galaxy (empfohlen)
ansible-galaxy collection install vergeio.vergeos
# Installieren Sie das erforderliche Python-SDK
pip install pyvergeosFür Entwicklungs- oder Offline-Umgebungen, aus dem Quellcode erstellen und installieren:
Authentifizierung
Die Collection verwendet Umgebungsvariablen für die API-Authentifizierung, sodass Anmeldedaten aus Ihren Playbooks und Inventardateien herausgehalten werden:
Alternativ können Sie für nicht-interaktive Szenarien wie CI/CD-Pipelines eine API-Schlüssel-Authentifizierung verwenden. API-Schlüssel werden in System > Users > [select user] > API Keys innerhalb der VergeOS-UI erstellt und bieten Bearer-Token-Authentifizierung, ohne dass Benutzername-/Passwort-Anmeldedaten erforderlich sind.
Module
Die Collection bietet Module für VM-Lifecycle-Operationen, Tagging und Image-Verwaltung. Jedes Modul kommuniziert über das pyvergeos SDK mit der VergeOS-API.
VM-Snapshot-Modul
Das vergeio.vergeos.vm_snapshot Modul erstellt und verwaltet VM-Snapshots programmgesteuert — nützlich für Backup-Automatisierung, Prüfpunkte vor Änderungen und Disaster-Recovery-Workflows.
Module zur Tag-Verwaltung
Tags bieten ein flexibles Klassifizierungssystem zur Organisation von VergeOS-Ressourcen. Die Collection enthält zwei Module für die Tag-Verwaltung:
vergeio.vergeos.tag_category
Tag-Kategorien erstellen und verwalten (z. B. "Umgebung", "Abteilung")
vergeio.vergeos.tag
Einzelne Tags innerhalb von Kategorien anwenden und verwalten
Funktionen zum VM-Import
Die Collection stellt VMs aus OVA-Vorlagen bereit, die bereits in VergeOS hochgeladen wurden — das vm_import Modul verweist auf eine vorhandene OVA per Name oder ID, und CPU und RAM werden aus der OVA selbst übernommen. Laden Sie die OVA zuerst hoch (UI oder API), und führen Sie dann das Playbook aus, um die VM zu erstellen.
Dynamisches Inventory-Plugin
Das vergeos_vms Inventory-Plugin fragt die VergeOS-API ab, um VMs dynamisch zu erkennen und ein Ansible-Inventar zu erstellen — damit entfällt die Notwendigkeit, statische Host-Dateien zu pflegen.
API-only Inventory
Das Inventory-Plugin ruft VM-Metadaten aus der VergeOS-API ab. Es nicht setzt ansible_host und unterstützt standardmäßig keine direkten SSH-Verbindungen. Sie müssen ansible_host über Host-Variablen, Compose-Regeln oder eine separate Verbindungsstrategie für die SSH-basierte Playbook-Ausführung konfigurieren.
Inventory-Konfiguration
Erstellen Sie eine Inventardatei (z. B. vergeos_inventory.yml):
Automatische Gruppierung
Das Plugin organisiert erkannte VMs automatisch in Gruppen auf Grundlage mehrerer Dimensionen:
Standort
datacenter_east, datacenter_west
Playbooks auf bestimmte Standorte ausrichten
Status
status_running, status_stopped
Aufgaben nur auf aktiven VMs ausführen
Tags
tag_Production, tag_Development
Umgebungsspezifische Konfiguration
Mandant
tenant_acme, tenant_globex
Mandantenfähige Automatisierung
OS-Familie
os_linux, os_windows
OS-spezifische Playbooks
Cluster
cluster_compute01, cluster_compute02
Cluster-bewusste Wartung
Knoten
node_node1, node_node2
Knotenebene-Operationen
Host-Variablen
Jede erkannte VM stellt über 20 Host-Variablen bereit, darunter VM-ID, Name, CPU-Kerne, RAM, OS-Familie, Stromzustand, Cluster-Zuordnung, Knotenplatzierung, Netzwerkkonfiguration, Tags und das vollständige VM-Datenwörterbuch für fortgeschrittene Anwendungsfälle.
Playbook-Muster
Snapshot-Orchestrierung über mehrere Standorte
Verwenden Sie tagbasiertes Filtern mit dem dynamischen Inventory, um Snapshots über Standorte hinweg zu orchestrieren:
Einrichtung der Tag-Infrastruktur
Etablieren Sie eine konsistente Tagging-Taxonomie in Ihrer VergeOS-Umgebung:
Workflow zum Import von Windows-VMs
Automatisieren Sie den Import von Windows-VM-Vorlagen aus OVA-Dateien:
Integrationsmuster
Terraform- + Ansible-Pipeline
Ein gängiges Muster kombiniert Terraform für die Bereitstellung mit Ansible für die Konfiguration: Terraform beschreibt die Infrastruktur, Ansible konfiguriert, was darin ausgeführt wird.
Bereitstellung
Terraform
VMs, Netzwerke, Benutzer, Laufwerke erstellen
Erkennung
Inventory
VergeOS-API nach neu erstellten VMs abfragen
Konfiguration
Ansible
Pakete installieren, Dienste konfigurieren, Sicherheits-Baselines anwenden
Validierung
Ansible
Smoketests ausführen, Konnektivität verifizieren, Compliance prüfen
Python SDK + Ansible
Für komplexe Workflows, die programmgesteuerte Logik über das hinaus benötigen, was YAML-Playbooks bieten, kombinieren Sie das pyvergeos Python SDK mit Ansible:
CI/CD-Integration
Ansible-Playbooks lassen sich natürlich in CI/CD-Pipelines für die Infrastrukturautomatisierung integrieren:
GitLab CI
Ansible-Playbooks aus .gitlab-ci.yml Stufen für automatisierte VM-Bereitstellung und Konfiguration beim Merge in main.
Jenkins
Verwenden Sie das Ansible-Plugin für Jenkins, um Playbooks als Build-Schritte auszuführen, wobei Anmeldedaten über den Jenkins Credential Store verwaltet werden.
GitHub Actions
Führen Sie Ansible-Playbooks in GitHub-Actions-Workflows mit dem ansible-playbook Action für durch Pull Requests ausgelöste Infrastrukturänderungen aus.
AWX / Tower
Stellen Sie Ansible AWX mit einer webbasierten UI, RBAC und geplanter Playbook-Ausführung gegen VergeOS-Umgebungen bereit.
Best Practices
Anmeldedatenverwaltung
Anmeldedaten niemals hart kodieren in Playbooks oder Inventardateien — verwenden Sie Umgebungsvariablen oder Ansible Vault
Verwenden Sie API-Schlüssel für Dienstkonten in der Produktion — sie unterstützen IP-Allow-Listen und Ablaufdaten
Anmeldedaten regelmäßig rotieren und die Nutzung von API-Schlüsseln über die VergeOS-UI prüfen
Inventory-Strategie
Caching aktivieren für große Umgebungen, um API-Aufrufe zu reduzieren und Playbook-Läufe zu beschleunigen
Filter verwenden um das Inventory auf relevante VMs einzugrenzen — vermeiden Sie es, die gesamte Umgebung zu laden
Getrennte Inventories pro Umgebung (dev, staging, production) aus Sicherheitsgründen
Playbook-Design
Verwenden Sie
delegate_to: localhostfür VergeOS-API-Aufrufe — die Module sprechen mit der API, nicht per SSH mit Gast-VMsTags nutzen für das Targeting — sie bieten ein flexibles, multidimensionales Gruppierungssystem
Idempotenz implementieren — entwerfen Sie Playbooks, die ohne Nebenwirkungen sicher erneut ausgeführt werden können
Weiterführende Lektüre
Zuletzt aktualisiert
War das hilfreich?