Die einfachste und effizienteste Art und Weise Linux VMs in Proxmox VE zu deployen ist der Einsatz von sogenannten Cloud-Init Images. Diese Images sind speziell angefertigte Installationsmedien, die von nahezu jeder bekannteren Linux-Distribution wie z.B. Debian, Ubuntu oder auch CentOS angeboten werden. Proxmox VE unterstützt Cloud-Init Deployments bereits seit einigen Versionen.
Vorteile im Vergleich zu ISO Images sind:
libguestfs-tools
Anpassungen an den Images vornehmen:
Folgende Parameter sind einsehbar innerhalb des angelegten Cloud-Init-Drives in der Proxmox VE Oberfläche:
Es folgt eine Anlage eines Templates mit der ID 9500, welches die von uns empfohlenen Best-Practices bezüglich einer VM-Anlage in PVE beinhaltet. Einige Parameter müssen noch an Ihre Infrastruktur angepasst werden, zum Beispiel der Pfad, indem das Image heruntergeladen werden soll.
apt update -y && apt install libguestfs-tools -y cd /mnt/pve/cephfs/template/iso/ wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img && virt-customize -a /mnt/pve/cephfs/template/iso/jammy-server-cloudimg-amd64.img --install qemu-guest-agent && virt-customize -a /mnt/pve/cephfs/template/iso/jammy-server-cloudimg-amd64.img --root-password password:fxcSzVt9pk && virt-customize -a /mnt/pve/cephfs/template/iso/jammy-server-cloudimg-amd64.img --run-command "echo -n > /etc/machine-id"
Es wird ein aktuelles Ubuntu 22.04 Cloud-Init Image heruntergeladen, libguestfs-tools
werden installiert und danach für das Injizieren des Qemu-Guest-Agents verwendet. Außerdem wird ein Default-Root-Passwort gesetzt und die /etc/maschine-id
resettet.
apt update -y && apt install libguestfs-tools -y cd /mnt/pve/cephfs/template/iso/ wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img && virt-customize -a /mnt/pve/cephfs/template/iso/noble-server-cloudimg-amd64.img --install qemu-guest-agent && virt-customize -a /mnt/pve/cephfs/template/iso/noble-server-cloudimg-amd64.img --root-password password:fxcSzVt9pk && virt-customize -a /mnt/pve/cephfs/template/iso/noble-server-cloudimg-amd64.img --run-command "echo -n > /etc/machine-id"
apt update -y && apt install libguestfs-tools -y && cd /mnt/pve/cephfs/template/iso/ && wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 && virt-customize -a /mnt/pve/cephfs/template/iso/debian-12-generic-amd64.qcow2 --install qemu-guest-agent && virt-customize -a /mnt/pve/cephfs/template/iso/debian-12-generic-amd64.qcow2 --root-password password:fxcSzVt9pk && virt-customize -a /mnt/pve/cephfs/template/iso/debian-12-generic-amd64.qcow2 --run-command "echo -n > /etc/machine-id"
Wichtig: das Snippet setzt z.B. voraus, dass unter /mnt/pve/cephfs
der Ordner configs
vorhanden ist und es dort eine Datei authorized_keys
gibt, ggf. müssen Sie diese vorher auskommentieren oder den Ordner und die Datei jeweils anlegen.
### Cloudinit Template VM erstellen (Ubuntu 24.04) qm create 9501 --name "ubuntu-2404-ci" --memory 8192 --cores 4 --net0 virtio,bridge=vmbr0 && qm importdisk 9501 /mnt/pve/cephfs/template/iso/noble-server-cloudimg-amd64.img vm_nvme && qm set 9501 --scsihw virtio-scsi-single --scsi0 vm_nvme:vm-9501-disk-0,cache=writeback,discard=on,ssd=1 && qm set 9501 --scsi1 vm_nvme:60,cache=writeback,discard=on,ssd=1 && qm set 9501 --boot c --bootdisk scsi0 && qm set 9501 --scsi2 vm_nvme:cloudinit && qm set 9501 --agent enabled=1 && qm resize 9501 scsi0 +27748M && qm set 9501 --serial0 socket && qm set 9501 --vga serial0 && qm set 9501 --cpu cputype=host && qm set 9501 --ostype l26 && qm set 9501 --balloon 4096 && qm set 9501 --ciupgrade 1 && qm set 9501 --ciuser ansible && qm set 9501 --ipconfig0 ip=dhcp && qm set 9501 --nameserver 192.168.110.61 && qm set 9501 --searchdomain pmx.local && qm set 9501 --sshkeys /mnt/pve/cephfs/configs/authorized_keys && qm template 9501
Diese Befehle erstellen ein Template, welches Sie danach über die Proxmox VE Oberfläche oder auch über Kommandozeile verwenden können. Hierzu können Sie mittels Rechtsklick auf das Template innerhalb der PVE-Web-UI einen Clone absetzen und die neue erstelle virtuelle Maschine dann mit all Ihren Anpassungen genießen.
Autor: Jonas Sterr Ich beschäftige mich mit den Themen Software Defined Storage, Proxmox Virtualisierung auf Basis von KVM, QEMU & Ceph im Produktmanagement der Thomas-Krenn.AG in Freyung. Proxmox ist meine absolute Leidenschaft und ich freue mich gerne über Kontaktanfragen und einen Austausch auf LinkedIn.
|