-
-
Save nurdiansyah/d7377bedea3907c9e44ea132d364ffc1 to your computer and use it in GitHub Desktop.
Proxmox create Ubuntu 20.04 template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# download ubuntu-cloud image | |
# NOTE: ubuntu-server won't properly work with cloud-init for some reason | |
wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img | |
# NOTE: no need for sudo because we already login as root | |
# install image customization tool | |
apt update -y && apt install libguestfs-tools -y | |
# install qemu-guest-agent inside of image | |
virt-customize -a focal-server-cloudimg-amd64.img --install qemu-guest-agent | |
# (optionally) edit cloud.cfg | |
# I usually add "package_update: true" and "packages: \n - nano \n - curl \n - wget" | |
# more examples: https://cloudinit.readthedocs.io/en/latest/topics/examples.html | |
export EDITOR=nano | |
virt-edit -a focal-server-cloudimg-amd64.img /etc/cloud/cloud.cfg | |
# NOTE: proxmox docs for further steps: https://pve.proxmox.com/wiki/Cloud-Init_Support | |
# create VM (number=100) with 2 cores, 2GB of RAM, and default networking | |
qm create 100 --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 | |
# import image as a disk | |
# NOTE: you might want to change "local-lvm" to "local-zfs" | |
qm importdisk 100 focal-server-cloudimg-amd64.img local-lvm | |
qm set 100 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-100-disk-0 | |
# set up cloud-init | |
qm set 100 --ide2 local-lvm:cloudinit | |
qm set 100 --serial0 socket --vga serial0 | |
# set boot order | |
qm set 100 --boot c --bootdisk scsi0 | |
# enable qemu-guest-agent | |
qm set 100 –-agent 1 | |
# convert VM into a template | |
qm template 100 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment