For the complete documentation index, see llms.txt. This page is also available as Markdown.

Labor: Infrastrukturautomatisierung

Verwenden Sie die VergeOS-REST-API, den Terraform-Provider und Skript-Tools, um die Bereitstellung von VMs und Mandanten Ende-zu-Ende zu automatisieren.

Zielsetzung

Automatisieren Sie VergeOS-Infrastrukturvorgänge mithilfe der REST-API, des Terraform-Providers und von Skripting-Tools (pyvergeos oder PowerShell). Am Ende dieses Labs werden Sie VMs und Mandanten programmgesteuert bereitgestellt haben und verstehen, wie VergeOS in CI/CD- und Automatisierungs-Workflows integriert wird.

Voraussetzungen

  • Abgeschlossenes Modul 1: Architekturgrundlagen

  • Modul 6 abgeschlossen: Virtuelle Maschinen

  • Modul 7 abgeschlossen: Multi-Tenancy

  • Lektüre zu Modul 8 abgeschlossen (REST API, Terraform, Python/PowerShell, Cloud-Init)

  • Ein laufender VergeOS-Cluster mit aktiviertem API-Zugriff

  • Terraform lokal installiert (v1.5+)

  • Python 3.9+ oder PowerShell 7+ lokal installiert

  • Zugriff auf das vergeos-terraform-playground Repository

Schwierigkeitsgrad

Mittelstufe -- Setzt Vertrautheit mit REST-APIs, Infrastructure-as-Code-Konzepten und grundlegenden Skriptkenntnissen voraus

Geschätzte Zeit

2 Stunden

Schritte

Teil 1: REST-API-Erkundung

Authentifizieren Sie sich bei der VergeOS-API und führen Sie grundlegende Operationen aus.

  1. Beschaffen Sie sich einen API-Schlüssel in der VergeOS-Benutzeroberfläche (System > Benutzer > [Ihr Benutzer] > API-Schlüssel)

  2. Verwenden Sie curl oder einen REST-Client zur Authentifizierung:

  3. Listen Sie alle VMs mit dem /api/v4/vms Endpunkt auf

  4. Erstellen Sie eine neue VM über die API:

    • POST an /api/v4/vms mit einem JSON-Body, der Name, CPU, Speicher und Festplatte angibt

  5. Starten und stoppen Sie die VM mithilfe der API

  6. Löschen Sie die VM über die API

  7. Erkunden Sie weitere Endpunkte: Netzwerke (/api/v4/vnets — die Tabelle heißt vnets während der UI-/Objektname "Networks" lautet), Mandanten (/api/v4/tenants)

Teil 2: Terraform-Provider

Verwenden Sie den VergeOS-Terraform-Provider, um Infrastruktur deklarativ zu verwalten.

  1. Klonen Sie das Repository vergeos-terraform-playground:

  2. Überprüfen Sie die Provider-Konfiguration in main.tf

  3. Kopieren und passen Sie ein Beispiel .tfvars Datei für Ihre Umgebung an

  4. Ausführen terraform init um den VergeOS-Provider herunterzuladen

  5. Ausführen terraform plan um die Infrastrukturänderungen in der Vorschau anzuzeigen

  6. Ausführen terraform apply um Ressourcen bereitzustellen

  7. Überprüfen Sie die erstellten Ressourcen in der VergeOS-Benutzeroberfläche

  8. Ändern Sie eine Ressource in der Terraform-Konfiguration und wenden Sie sie erneut an

  9. Ausführen terraform destroy um aufzuräumen

Teil 3: Skriptbasierte Automatisierung

Automatisieren Sie einen Workflow mit pyvergeos (Python) oder dem PowerShell-Modul.

  1. Installieren Sie pyvergeos:

  2. Schreiben Sie ein Skript, das:

    • Sich mit Ihrem VergeOS-Cluster verbindet

    • Alle VMs und ihren aktuellen Status auflistet

    • Eine neue VM aus einem Rezept/einer Vorlage erstellt

    • Wartet, bis die VM läuft

    • Gibt die IP-Adresse und Verbindungsdetails der VM aus

  3. Erweitern Sie das Skript, um:

    • Einen Mandanten mit vordefinierten Ressourcenzuweisungen zu erstellen

    • Eine VM innerhalb des Mandanten bereitzustellen

    • Die Mandantentrennung durch Überprüfung der Netzwerkkonnektivität zu verifizieren

Teil 4: Cloud-Init

Konfigurieren Sie die unbeaufsichtigte Bereitstellung von VMs mit cloud-init.

  1. Erstellen Sie eine cloud-init-Konfigurationsdatei mit:

    • Hostname- und Netzwerkeinstellungen

    • Benutzerkonten und SSH-Schlüssel

    • Befehle zur Paketinstallation

    • Skripte nach dem Start

  2. Hängen Sie die cloud-init-Konfiguration über die API oder die Benutzeroberfläche an eine neue VM an

  3. Starten Sie die VM und überprüfen Sie, ob die cloud-init-Konfiguration angewendet wurde:

    • Überprüfen Sie Hostname- und Netzwerkeinstellungen

    • Überprüfen Sie, ob Benutzerkonten vorhanden sind

    • Bestätigen Sie, dass Pakete installiert wurden

Verifizierung

Ihr Labor zur Infrastrukturautomatisierung ist abgeschlossen, wenn Sie Folgendes beantworten können ja allen folgenden Punkten antworten kannst:

Zuletzt aktualisiert

War das hilfreich?