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.
Beschaffen Sie sich einen API-Schlüssel in der VergeOS-Benutzeroberfläche (System > Benutzer > [Ihr Benutzer] > API-Schlüssel)
Verwenden Sie
curloder einen REST-Client zur Authentifizierung:Listen Sie alle VMs mit dem
/api/v4/vmsEndpunkt aufErstellen Sie eine neue VM über die API:
POST an
/api/v4/vmsmit einem JSON-Body, der Name, CPU, Speicher und Festplatte angibt
Starten und stoppen Sie die VM mithilfe der API
Löschen Sie die VM über die API
Erkunden Sie weitere Endpunkte: Netzwerke (
/api/v4/vnets— die Tabelle heißtvnetswä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.
Klonen Sie das Repository vergeos-terraform-playground:
Überprüfen Sie die Provider-Konfiguration in
main.tfKopieren und passen Sie ein Beispiel
.tfvarsDatei für Ihre Umgebung anAusführen
terraform initum den VergeOS-Provider herunterzuladenAusführen
terraform planum die Infrastrukturänderungen in der Vorschau anzuzeigenAusführen
terraform applyum Ressourcen bereitzustellenÜberprüfen Sie die erstellten Ressourcen in der VergeOS-Benutzeroberfläche
Ändern Sie eine Ressource in der Terraform-Konfiguration und wenden Sie sie erneut an
Ausführen
terraform destroyum aufzuräumen
Teil 3: Skriptbasierte Automatisierung
Automatisieren Sie einen Workflow mit pyvergeos (Python) oder dem PowerShell-Modul.
Installieren Sie pyvergeos:
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
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.
Erstellen Sie eine cloud-init-Konfigurationsdatei mit:
Hostname- und Netzwerkeinstellungen
Benutzerkonten und SSH-Schlüssel
Befehle zur Paketinstallation
Skripte nach dem Start
Hängen Sie die cloud-init-Konfiguration über die API oder die Benutzeroberfläche an eine neue VM an
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?