Erstellung einer Cloud-Init Vorlage
Was wollen wir erreichen?
Wir wollen den Prozess der Erstellung von virtuellen Maschinen, der manuellen Installation entsprechender Distributionen weitestgehend vereinfachen. Dazu kommen sogenannte Cloud Images zum Einsatz. Wir wollen auf Basis der Cloud Images eine oder mehrere Vorlagen erstellen, sodass wir nur noch von der Vorlage eine virtuelle Maschine erzeugen.
Was wird benötigt?
- Proxmox VE Server
- Cloud Image (entweder Debian oder Ubuntu)
- SSH Schlüsselpaar
- Terminal
Durchführung
Vorbereitende Schritte
Auf dem Proxmox VE Host installieren wir die libguestfs-tools herunter. Diese nutzen wir, um das heruntergeladene Image zu editieren.
Paketquellen aktualisieren, Updates installieren und Installation von libguestfs-tools:
1 | |
Wir benötigen nun ein Cloud Init Image von Debian oder Ubuntu. Dazu sind unterhalb Quellen angegeben!
Globales Debian Repository Debian Global Cloud Init repository Globales Ubuntu Repository Ubuntu Global Cloud Init repository Debian (Bookworm) Cloud Init latest Images Debian Cloud Images Repositories Ubuntu (Noble Numbat) Cloud Init latest Images Ubuntu Cloud Images Repositories
Wir suchen nach den folgenden Images: debian-12-generic-amd64.qcow2 ubuntu-24.04-server-cloudimg-amd64.img
Da wir nun wissen wo die benötigten Dateien liegen, verbinden wir uns auf den Proxmox Ve per SSh, wechseln in das entsprechende Verzeichnis und laden uns das Image herunter.
Verbindung per SSH mit dem Proxmox Server:
1 |
Erstellung des benötigten Ordners (optional, falls noch nicht vorhanden):
1 | |
Wechsel in das Verzeichnis:
1 | |
Herunterladen des aktuellen Cloud Init Images:
1 | |
Bearbeitung des Image
Im nächsten Schritt werden wir das Image bearbeiten, das wir neben dem Grundsystem ein paar Sachen, welche wir benötigen ändern. Dazu setzen wir verschiedene Tools aus dem heruntergeladenen Paket ein.
Passwort
Das Passwort ist absolut ungeeignet und wird nicht bei mir eingesetzt. Es dient als Platzhalter und sollte durch ein eigenes sicheres Kennwort ersetzt werden!
Wir werden dem Image die Guest Agents installieren, das root Passwort setzen und die Machine-ID zurücksetzen.
1 | |
Installation des QEMU Guest Agent paket
1 2 3 | |
Erstellung der Vorlage mit Parametern
Abschließend erstellen wir die Vorlage in der Kommandozeile.
Erstellung der virtuellen Maschine mit VMID, Name, RAM, Cores und des Netzwerk
1 | |
Wir importieren unser Image in die virtuelle Maschine
1 | |
Wir fügen das Image der Vorlage hinzu
1 | |
Wir setzen das Image als Boot Laufwerk
1 | |
Wir fügen das Cloud-Init System hinzu
1 | |
Wir aktivieren den Guest Agent
1 | |
Wir fügen dem Image Speicherplatz hinzu, da es standardmäßig nur 2 GB hat
1 | |
Wir fügen eine grafische Ausgabe hinzu
1 2 | |
Der CPU Typ und die Art des Betriebssystems wird hinzugefügt
1 2 | |
Wir aktivieren die automatischen Updates
1 | |
Wir erstellem einen User
1 | |
Wir passen die Netzwerkkonfiguration an
1 2 3 | |
Wir setzen den erstellten Public Key ein, damit wir ohne Passwort auf die VM zugreifen können
1 | |
Wir erstellen unsere Vorlage
1 | |
Zeile 6 trifft nur bei ssd Laufwerken zu. hat man noch eine HDD im Einsatz lässt man die argumente "discard=on" und "ssd=1" weg.
Kommandoreferenz mit verschiedenen Optionen Kommandoreferenz
Die Vorlage kann nun mit einem Rechtsklick -> Clone zu einer vollwertigen VM erstellt werden. Idealerweise sollte man immer Full Clone erstellen.