Changes for page proxmox
Last modified by Kevin Wiki on 2026/05/18 15:44
From version
11.2
edited by Kevin Wiki
on 2026/05/18 15:38
on 2026/05/18 15:38
Change comment:
There is no comment for this version
To version
5.1
edited by Kevin Wiki
on 2025/07/05 20:21
on 2025/07/05 20:21
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -92,11 +92,10 @@ 92 92 93 93 == Bash Script to Automate Setup == 94 94 95 - Installtheabove usingbash script below95 +You can automate the full process using the script below. 96 96 97 97 === setup_proxmox_templates.sh === 98 98 99 -{{code language="bash"}} 100 100 #!/bin/bash 101 101 102 102 # Exit on errors ... ... @@ -103,21 +103,17 @@ 103 103 set -e 104 104 105 105 echo "Downloading LXC templates..." 106 -pveam download nvme ubuntu-22.04-standard_22.04-1_amd64.tar.zst 107 -pveam download nvme ubuntu-24.04-standard_24.04-2_amd64.tar.zst 108 -pveam download nvme alpine-3.21-default_20241217_amd64.tar.xz 109 -pveam download nvme debian-12-standard_12.7-1_amd64.tar.zst 105 +pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.gz 106 +pveam download local ubuntu-24.04-standard_24.04-1_amd64.tar.zst 107 +pveam download local debian-12-standard_11.7-1_amd64.tar.zst 110 110 111 111 echo "Downloading Ubuntu cloud image..." 112 112 wget -N http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img 113 113 114 114 echo "Creating VM Template..." 115 -qm create 910 -name template-ubuntu-jammy -memory 2048 -net0 virtio,bridge=vmbr0 -cores 2 -sockets 1 && 1 116 - 117 -# qm importdisk 910 ubuntu-24.04-server-cloudimg-amd64.img nvme 118 -# qm set 910 -scsihw virtio-scsi-pci -scsi0-virtio0 nvme:910/vm-910-disk-0 119 -qm set 910 -scsihw virtio-scsi-pci -scsi0 nvme:0,import-from=/mnt/nvmestorage/template/iso/ubuntu-24.04-server-cloudimg-amd64.img 120 - 113 +qm create 910 -name template-ubuntu-jammy -memory 2048 -net0 virtio,bridge=vmbr0 -cores 2 -sockets 1 114 +qm importdisk 910 ubuntu-24.04-server-cloudimg-amd64.img nvme 115 +qm set 910 -scsihw virtio-scsi-pci -virtio0 nvme:vm-910-disk-0 121 121 qm set 910 -serial0 socket 122 122 qm set 910 -boot c -bootdisk virtio0 123 123 qm set 910 -agent 1 ... ... @@ -125,143 +125,10 @@ 125 125 qm set 910 -vcpus 1 126 126 qm set 910 -vga qxl 127 127 qm set 910 -ide2 nvme:cloudinit 128 -# qm resize 910 scsi0 +8G 129 - 130 -read -p "Confirm converting to template by pressing Enter" 123 +qm resize 910 virtio0 +8G 131 131 qm template 910 132 132 133 133 echo "Templates setup complete." 134 -{{/code}} 135 - 136 - 137 -= VM runtime setup = 138 - 139 -After creating the VM and before making it into a template there are some programs and settings we want to ensure exists always. 140 - 141 -(% id="cke_bm_721114S" style="display:none" %)** **(%%)**clear bash history** to not leave any configuration in history, clear and disable history file before proceeding: 142 - 143 -**qemu-guest-agent** is for allowing proxmox to query information from the VM such as IP address, shutdown commands, etc 144 - 145 -{{code language="bash"}} 146 -sudo apt update 147 -sudo apt upgrade -y 148 -sudo apt install qemu-guest-agent -y 149 - 150 -sudo systemctl enable qemu-guest-agent.service 151 -sudo systemctl start qemu-guest-agent.service 152 -{{/code}} 153 - 154 -**reset machine-id** to not have overlapping ids from same template 155 - 156 -{{code language="bash"}} 157 -cat /dev/null > /etc/machine-id 158 -cat /dev/null > /var/lib/dbus/machine-id 159 -{{/code}} 160 - 161 -**cloud-init** is a great hook for installing or configuring programs or receiving variables from cloudinit CDROM drive. Making it easier to change IP, hostname, DNS, username/password, etc between VMs 162 - 163 -{{code language="bash"}} 164 -cloud-init clean 165 -{{/code}} 166 - 167 -This is a debian example of what we are looking for: 168 - 169 -{{code language="yaml"}} 170 -# The top level settings are used as module 171 -# and system configuration. 172 -# A set of users which may be applied and/or used by various modules 173 -# when a 'default' entry is found it will reference the 'default_user' 174 -# from the distro configuration specified below 175 - 176 -# If this is set, 'root' will not be able to ssh in and they 177 -# will get a message to login instead as the default $user 178 -disable_root: true 179 - 180 -# This will cause the set+update hostname module to not operate (if true) 181 -preserve_hostname: false 182 - 183 -apt: 184 - # This prevents cloud-init from rewriting apt's sources.list file, 185 - # which has been a source of surprise. 186 - preserve_sources_list: true 187 - 188 -# manually managed resolv 189 -manage_resolv_conf: false 190 - 191 -package_update: true 192 -packages: 193 - - qemu-guest-agent 194 - 195 -# The modules that run in the 'init' stage 196 -cloud_init_modules: 197 - - seed_random 198 - - bootcmd 199 - - write-files 200 - - growpart 201 - - resizefs 202 - - disk_setup 203 - - mounts 204 - - set_hostname 205 - - update_hostname 206 - - update_etc_hosts 207 - - ca-certs 208 - - rsyslog 209 - - users-groups 210 - - ssh 211 - 212 -# The modules that run in the 'config' stage 213 -cloud_config_modules: 214 - - keyboard 215 - - locale 216 - - set-passwords 217 - - grub-dpkg 218 - - apt-pipelining 219 - - apt-configure 220 - - ntp 221 - - timezone 222 - - disable-ec2-metadata 223 - - runcmd 224 - 225 -# The modules that run in the 'final' stage 226 -cloud_final_modules: 227 - - package-update-upgrade-install 228 - - write-files-deferred 229 - - scripts-vendor 230 - - scripts-per-once 231 - - scripts-per-boot 232 - - scripts-per-instance 233 - - scripts-user 234 - - ssh-authkey-fingerprints 235 -# - keys-to-console 236 - - install-hotplug 237 -# - phone-home 238 - - final-message 239 - - power-state-change 240 - 241 -runcmd: 242 - - systemctl enable qemu-guest-agent.service 243 - 244 -# System and/or distro specific settings 245 -# (not accessible to handlers/transforms) 246 -system_info: 247 - # This will affect which distro class gets used 248 - distro: debian 249 - # Other config here will be given to the distro class and/or path classes 250 - paths: 251 - cloud_dir: /var/lib/cloud/ 252 - templates_dir: /etc/cloud/templates/ 253 - package_mirrors: 254 - - arches: [default] 255 - failsafe: 256 - primary: https://deb.debian.org/debian 257 - security: https://deb.debian.org/debian-security 258 - ssh_svcname: ssh 259 -{{/code}} 260 - 261 - 262 - 263 - 264 - 265 265 266 266 ))) 267 267
- image.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kevin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +40.8 KB - Content