All checks were successful
GitOps Automatic Deployment / GitOps Automatic Deployment (push) Successful in 8s
31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
## Purpose
|
|
You may need to deploy many copies of a virtual machine rapidly, and don't want to go through the hassle of setting up everything ad-hoc as the needs arise for each VM workload. Creating a cloud-init template allows you to more rapidly deploy production-ready copies of a template VM (that you create below) into a ProxmoxVE environment.
|
|
|
|
### Pull Down Ubuntu Server Cloud-Init Image
|
|
You will first need to pull down the OS image from Ubuntu's website via CLI, as there is currently no way to do this via the WebUI. Using SSH or the Shell within the WebUI of one of the ProxmoxVE servers, run the following commands to download and import the image into ProxmoxVE.
|
|
```sh
|
|
# Make a place to keep cloud images
|
|
mkdir -p /var/lib/vz/template/images/ubuntu && cd /var/lib/vz/template/images/ubuntu
|
|
|
|
# Download Ubuntu 24.04 LTS cloud image (amd64, server)
|
|
wget -q --show-progress https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
|
|
|
|
# Create a Placeholder VM to Attach Cloud Image
|
|
qm create 9000 --name ubuntu-2404-cloud --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
|
|
|
|
# Set UEFI (OVMF) + SCSI controller (Cloud images expect UEFI firmware and SCSI disk.)
|
|
qm set 9000 --bios ovmf --scsihw virtio-scsi-pci
|
|
|
|
# Import the disk into ProxmoxVE
|
|
qm importdisk 9000 noble-server-cloudimg-amd64.img nfs-cluster-storage --format qcow2
|
|
|
|
# Query ProxmoxVE to find out where the volume was created
|
|
pvesm list nfs-cluster-storage | grep 9000
|
|
|
|
# Attach the disk to the placeholder VM
|
|
qm set 9000 --scsi0 nfs-cluster-storage:9000/vm-9000-disk-0.qcow2
|
|
|
|
# Configure Disk to Boot
|
|
qm set 9000 --boot c --bootdisk scsi0
|
|
|
|
``` |