Um aus einem Cloud Init Template eine angepasste VM zu erstellen muss natürlich als erstes ein VM Template entsprechend erstellt werden.
#!/bin/bash # Set the VM ID to operate on VMID=900 # Set a variable for our new VM ID NEW_VMID=500 NEW_VM_NAME=env-debian12 qm clone $VMID $NEW_VMID --name $NEW_VM_NAME --full --pool Test # Show Current configs qm config $NEW_VMID # Allocate 2GB of RAM qm set $NEW_VMID --memory 2048 # Allocate 2 vCPU Cores qm set $NEW_VMID --cores 2 # Resize bootdisk ## Get bootdisk interface NEW_VM_BOOTDISK_INTERFACE=$(qm config $NEW_VMID | grep bootdisk | awk '{print $2}') ## Resize bootdisk to 30GB qm disk resize $NEW_VMID $NEW_VM_BOOTDISK_INTERFACE 30G # Set Network config ## Static qm set $NEW_VMID --ipconfig0 ip=10.6.6.250/24,gw=10.6.6.1 ## DHCP # qm set $NEW_VMID --ipconfig0 ip=dhcp # Set Nameserver und Domain qm set $NEW_VMID --nameserver 10.6.6.1 qm set $NEW_VMID --searchdomain tuxnet.lan # Set Username qm set $NEW_VMID --ciuser ansible # Setup public SSH keys (one key per line, OpenSSH format). qm set $NEW_VMID --sshkeys ~/vm_sshkeys/keylist # First Start to run Ansible Playbooks qm start $NEW_VMID