Linux/Proxmox: Difference between revisions
< Linux
mNo edit summary |
|||
Line 8: | Line 8: | ||
== Create VM from Cloud Image to be used as template == | == Create VM from Cloud Image to be used as template == | ||
<pre> | <pre> | ||
iso folder: /var/lib/vz/template/iso/ | iso folder: ls /var/lib/vz/template/iso/ | ||
qm create 9001 --name "ubuntu-2404-ci" --memory 2048 --cores 8 --net0 virtio,bridge=vmbr0 | qm create 9001 --name "ubuntu-2404-ci" --memory 2048 --cores 8 --net0 virtio,bridge=vmbr0 | ||
qm importdisk 9001 /var/lib/vz/template/iso/ubuntu-24.04-server-cloudimg-amd64.img lvm | qm importdisk 9001 /var/lib/vz/template/iso/ubuntu-24.04-server-cloudimg-amd64.img lvm | ||
qm set 9001 --scsihw virtio-scsi-single --scsi0 lvm:vm-9001-disk-0,discard=on,iothread=1 | qm set 9001 --scsihw virtio-scsi-single --scsi0 lvm:vm-9001-disk-0,discard=on,iothread=1 | ||
qm set 9001 --boot order=scsi0 | qm set 9001 --boot order=scsi0 | ||
qm set 9001 --serial0 socket | qm set 9001 --serial0 socket | ||
qm set 9001 --vga serial0 | qm set 9001 --vga serial0 # qm set 9001 --vga std | ||
qm set 9001 --cpu cputype=host | qm set 9001 --cpu cputype=host | ||
qm set 9001 --ostype l26 | qm set 9001 --ostype l26 # linux | ||
qm set 9001 --agent 1 # qemu guest agent | |||
qm set 9001 --agent 1 | |||
# set cloud-init definitions | # set cloud-init definitions | ||
qm set 9001 -- | qm set 9001 --scsi2 lvm:cloudinit | ||
qm set 9001 --ciuser "username" | qm set 9001 --ciuser "username" | ||
qm set 9001 --cipassword "password" | qm set 9001 --cipassword "password" | ||
qm set 9001 --ipconfig0 "ip=dhcp" | qm set 9001 --ipconfig0 "ip=dhcp" | ||
qm set 9001 --ciupgrade 1 | |||
</pre> | </pre> | ||
Revision as of 18:42, 4 November 2024
Download Ubuntu Cloud Image
- https://cloud-images.ubuntu.com/releases/
- e.g.: ubuntu-22.04-server-cloudimg-amd64.img
- upload cloud-init image from proxmox
- gui -> local storage -> iso images
Create VM from Cloud Image to be used as template
iso folder: ls /var/lib/vz/template/iso/ qm create 9001 --name "ubuntu-2404-ci" --memory 2048 --cores 8 --net0 virtio,bridge=vmbr0 qm importdisk 9001 /var/lib/vz/template/iso/ubuntu-24.04-server-cloudimg-amd64.img lvm qm set 9001 --scsihw virtio-scsi-single --scsi0 lvm:vm-9001-disk-0,discard=on,iothread=1 qm set 9001 --boot order=scsi0 qm set 9001 --serial0 socket qm set 9001 --vga serial0 # qm set 9001 --vga std qm set 9001 --cpu cputype=host qm set 9001 --ostype l26 # linux qm set 9001 --agent 1 # qemu guest agent # set cloud-init definitions qm set 9001 --scsi2 lvm:cloudinit qm set 9001 --ciuser "username" qm set 9001 --cipassword "password" qm set 9001 --ipconfig0 "ip=dhcp" qm set 9001 --ciupgrade 1
Not needed?
qm set 9001 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9001-disk-0 local:9001/vm-9001-disk-0.raw
- manual rework
echo 'Acquire::http::Proxy "http://192.168.111.11:3142";' > /etc/apt/apt.conf.d/00aptproxy apt install qemu-guest-agent sudo dpkg-reconfigure keyboard-configuration apt clean
Clone template to new VM
qm clone 9001 123 --name docker1 qm resize 123 scsi0 20G
Terraform + Proxmox
- main.tf
terraform { required_providers { proxmox = { source = "telmate/proxmox" version = "2.9.3" } } } provider "proxmox" { pm_api_url = "https://vm-host:8006/api2/json" pm_password = "password" pm_user = "root@pam" pm_tls_insecure = "true" } resource "proxmox_vm_qemu" "proxmox_vm" { name = "vm-01" desc = "Terraform VM" target_node = "vm-host" clone = "ubuntu-20.04-cloudinit" os_type = "cloud-init" agent = 1 cores = 1 sockets = 1 cpu = "host" memory = 2048 scsihw = "virtio-scsi-pci" boot = "c" bootdisk = "scsi0" disk { type = "scsi" storage = "local-lvm" size = "20G" } network { bridge = "vmbr0" firewall = false model = "virtio" } lifecycle { ignore_changes = [ network ] } }
Proxmox + Ansible
- on proxmox host:
apt install sudo adduser username usermod -aG sudo username sudo visudo > username ALL = (ALL) NOPASSWD: ALL apt install python3-proxmoxer