Cloud-init¶
Cloud-init ist eine Open-Source-Software, die speziell dafür entwickelt wurde, den Initialisierungsprozess von Cloud-Instanzen zu automatisieren und zu standardisieren.
Aber natürlich können wir das auch in unser PVE Virtualisierung - unserer privaten Cloud - einsetzen, um von den Vorteilen zu profitieren und die Cloud in unsere eigenen Infrastrukturen zu bringen.
cloud-init.io by Canonical - Standard für benutzerdefinierte Cloud Instanzen bzw. VM¶
Sobald eine neue virtuelle Maschine oder ein Container gestartet wird, übernimmt cloud-init die Aufgabe, diese Instanz gemäß vordefinierten Vorgaben zu konfigurieren. Cloud-init wurde für VMs entwickelt. Man kann Cloud-init aber auch für LXC Container austesten.
Typische Aufgaben, die wir von Cloud-init lösen lassen könnne:
Vergabe von Hostnamen
Erstellung von Benutzern
Einrichtung von SSH-Schlüsseln
Installation von Softwarepaketen
Anpassung von Netzwerkeinstellungen
In der Praxis erreicht man so, dass Administratoren eine einzige cloud-init-Konfiguration erstellen können, die dann als Vorlage für beliebig viele Instanzen dient.
Wird eine neue VM oder ein Container in Proxmox VE mit cloud-init-Unterstützung bereitgestellt, liest das System diese Datei beim ersten Start aus und führt die darin beschriebenen Schritte automatisch aus. Dadurch lassen sich nicht nur einzelne Systeme, sondern auch ganze Serverlandschaften mit identischer Basiskonfiguration und Softwareausstattung in kürzester Zeit und ohne manuellen Aufwand aufsetzen.
Hinweis
Alternative Automatisierungstools in der Linux-/Servertechnik: Ansible, Terraform oder aktuelle Terraform-Forks wie OpenTofu.
Windows Alternative mit cloudbase-init
Die Vorgehensweise kann man für Windows mit cloudbase-init versuchen nachzubauen - viel Glück! Bei Recherche zu Proxmox + cloudbase-init und Windows kann man diverse Ansätze mit teils erfolgreichen Umsetzungen finden. Wir bleiben aber natürlich in der Linux-Welt!