XenServer

Automatisieren von XenServer mit Terraform

Der XenServer Terraform Provider ermöglicht es IT-Administratoren, Konfigurations- und Verwaltungsaufgaben für XenServer-Umgebungen zu automatisieren. Dies ist besonders nützlich bei groß angelegten Setups, bei denen die Automatisierung Konsistenz gewährleistet, manuelle Fehler reduziert und Zeit spart. Mit dem Terraform-Anbieter können Sie:

  • Erstellen von virtuellen Maschinen (VMs)
  • Verwalten von Snapshots (Erstellen und Entfernen)
  • Konfigurieren des Speichers (Hinzufügen oder Entfernen von lokalen und NFS-Typen)
  • Einrichten und Verwalten von Netzwerken
  • Abrufen von Informationen zu XenServer-Hosts

Die wichtigsten Vorteile des XenServer Terraform Provider:

  • Automatisierung: Vereinfacht die Bereitstellung und Verwaltung von XenServer-Umgebungen durch Infrastructure-as-Code (IaC)-Praktiken.
  • Effizienz: Automatisiert Aufgaben wie VM-Erstellung, Snapshot-Management und Speicher- oder Netzwerkkonfiguration, wodurch manuelle Eingriffe minimiert werden.
  • Konsistenz: Gewährleistet einheitliche Konfigurationen in großen Umgebungen und minimiert Fehler.
  • Skalierbarkeit: Unterstützt schnelles Infrastrukturwachstum durch Rationalisierung der Erstellung und des Neuaufbaus von Umgebungen, wie z. B. QA-Setups.

Voraussetzungen

Bevor Sie den XenServer Terraform-Anbieter verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Terraform Version 1.8 oder höher

    Laden Sie Terraform von der offiziellen herunter Terraform-Installationsanleitung.

    Windows-Benutzer können Terraform mit Chocolatey installieren, indem sie den folgenden Befehl ausführen:

    choco install terraform
  • XenServer-Instanz mit administrativem Zugriff

  • XenServer-API-Anmeldeinformationen

    Dazu gehören der Benutzername, das Passwort und die IP-Adresse Ihres XenServers.

Erste Schritte

  1. Bereiten Sie die Terraform-Konfiguration vor.

    Fügen Sie zunächst den XenServer Terraform Provider zu Ihrer Terraform-Konfigurationsdatei main.tfhinzu:

    terraform { required_providers { xenserver = { source = "xenserver/xenserver" } } } provider "xenserver" { host = "https://<ip address of XenServer>" username = "root" password = <root password> }
  2. Definieren Sie Ressourcen.

    Um beispielsweise einen virtuellen Computer zu erstellen, definieren Sie die Ressource in Ihrer Konfigurationsdatei:

    data "xenserver_sr" "sr" { name_label = "Local storage" } resource "xenserver_vdi" "vdi1" { name_label = "local-storage-vdi-1" sr_uuid = data.xenserver_sr.sr.data_items[0].uuid virtual_size = 100 * 1024 * 1024 * 1024 } data "xenserver_network" "network" {} resource "xenserver_vm" "windows_vm" { name_label = "Windows VM" template_name = "Windows 11" static_mem_max = 4 * 1024 * 1024 * 1024 vcpus = 4 cores_per_socket = 2 cdrom = "win11-x64_uefi.iso" boot_mode = "uefi_security" boot_order = "cdn" hard_drive = [ { vdi_uuid = xenserver_vdi.vdi1.uuid, bootable = true, mode = "RW" } ] network_interface = [ { device = "0" network_uuid = data.xenserver_network.network.data_items[0].uuid, } ] other_config = { "tf_created" = "true" } }

    Oder um ein NFS Storage Repository (SR) zu erstellen:

    resource "xenserver_sr" "nfs" { name_label = "Test NFS SR" type = "nfs" content_type = "" shared = true device_config = { server = "192.0.2.1" serverpath = "/server/path" nfsversion = "3" } sm_config = { shared = "true" } }
  3. Initialisieren Sie die Konfiguration, und wenden Sie sie an.

    Um den XenServer Terraform Provider zu installieren, führen Sie Folgendes aus:

    terraform init

    Führen Sie dann Folgendes aus, um die definierten Ressourcen bereitzustellen:

    terraform apply

Erweiterte Konfigurationen und zusätzliche Ressourcen finden Sie in der Dokumentation zum XenServer Terraform-Anbieter. Wenn Sie auf Probleme stoßen, wenden Sie sich an den Support oder erstellen Sie ein GitHub-Problemticket.

Was ist neu

Der XenServer Terraform Provider wird unabhängig von XenServer-Versionen aktualisiert, um neue Automatisierungsfunktionen und Korrekturen einzuführen und fortlaufende Kompatibilität sicherzustellen.

XenServer Terraform-Anbieter 0.2.1

Veröffentlicht: 20. Januar 2025

Diese Version führt die folgenden neuen Automatisierungsfunktionen ein:

  • Erstellen Sie eine VM aus einer Vorlage mit vollständiger Festplattenkopie.

Diese Version enthält die folgenden Verbesserungen:

  • Geben Sie UUIDs anstelle von internen Referenzen zurück, um die Benutzerfreundlichkeit zu verbessern.

Diese Version enthält Korrekturen für die folgenden Probleme:

  • Das Erstellen, Ändern oder Löschen eines Pools kann manchmal fehlschlagen und den SSH-Befehl mit einem Fehler beenden.

Frühere Releases

0.2.0

Veröffentlicht: 11. November 2024

Diese Version führt die folgenden neuen Automatisierungsfunktionen ein:

  • Fügen Sie Hosts problemlos zu Pools hinzu und entfernen Sie sie. Dies verbessert die Skalierbarkeit und vereinfacht die Wartung.
  • Aktualisieren Sie das Standard-SR- und Verwaltungsnetzwerk.
  • Erstellen und löschen Sie SMB/CIFS-Speicher und bieten Sie so mehr Flexibilität bei Speicherkonfigurationen.

Diese Version enthält die folgenden Verbesserungen:

  • Entfernen Sie die Datenträgeranzahlbeschränkung beim Erstellen von VMs, um die Hardwareabhängigkeit zu verringern und den Speicher zu optimieren.
  • Aktivieren Sie das Zurücksetzen von VMs auf Snapshots, um die Wiederherstellung und das Rollback zu vereinfachen.
  • Aktivieren Sie das Lesen von Anmeldeinformationen aus Umgebungsvariablen, um die Konfigurationsverwaltung zu vereinfachen.

0.1.2

Veröffentlicht: 31. Oktober 2024

Diese Version enthält Korrekturen für die folgenden Probleme:

  • Wenn Sie XenServer Terraform Provider Version 0.1.1 verwenden, können nach der Anwendung der am 25. September 2024 für Early Access und am 2. Oktober 2024 für Normal veröffentlichten XenServer 8-Updates Kompatibilitätsprobleme auftreten. Version 0.1.2 behebt diese Kompatibilitätsprobleme.
Automatisieren von XenServer mit Terraform