Linux/Proxmox: Difference between revisions
< Linux
Line 84: | Line 84: | ||
firewall = false | firewall = false | ||
model = "virtio" | model = "virtio" | ||
} | |||
lifecycle { | |||
ignore_changes = [ | |||
network | |||
] | |||
} | } | ||
} | } |
Revision as of 19:48, 9 December 2021
Use Ubuntu Cloud-Init Image
- upload cloud-init image from proxmox
- gui -> local storage -> iso images
- create VM to be used as template for cloning
iso folder: /var/lib/vz/template/iso/ qm create 9001 --memory 2048 --net0 virtio,bridge=vmbr0 --cpu cputype=host qm importdisk 9001 /var/lib/vz/template/iso/focal-server-cloudimg-amd64.img local-lvm qm set 9001 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9001-disk-0 qm set 9001 --ide0 local-lvm:cloudinit qm set 9001 --boot c --bootdisk scsi0 qm set 9001 --serial0 socket --vga std # --vga serial0 qm set 9001 --name "ubuntu-20.04-cloudinit" qm set 9001 --agent 1 # set cloud-init definitions qm set 9001 --ciuser "username" qm set 9001 --cipassword "password" qm set 9001 --ipconfig0 ip=dhcp
- manual rework
touch /etc/apt/apt.conf.d/00aptproxy echo 'Acquire::http::Proxy "http://192.168.111.11:3142";' > /etc/apt/apt.conf.d/00aptproxy apt install qemu-guest-agent apt clean
- clone 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 ] } }
Install Ubuntu to be used for cloning with cloud-init
- not working:
# in case of apt-cacher-ng touch /etc/apt/apt.conf.d/00aptproxy echo 'Acquire::http::Proxy "http://192.168.111.11:3142";' > /etc/apt/apt.conf.d/00aptproxy
apt update apt install -y cloud-init cloud-initramfs-growroot qemu-guest-agent