Changes for page proxmox
Last modified by Kevin Wiki on 2026/05/18 15:44
From 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
To version
9.4
edited by Kevin Wiki
on 2026/05/18 08:00
on 2026/05/18 08:00
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -92,10 +92,11 @@ 92 92 93 93 == Bash Script to Automate Setup == 94 94 95 - You canautomatethefull processusingthescript below.95 +Install the above using bash script below 96 96 97 97 === setup_proxmox_templates.sh === 98 98 99 +{{code language="bash"}} 99 99 #!/bin/bash 100 100 101 101 # Exit on errors ... ... @@ -102,17 +102,21 @@ 102 102 set -e 103 103 104 104 echo "Downloading LXC templates..." 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 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 108 108 109 109 echo "Downloading Ubuntu cloud image..." 110 110 wget -N http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img 111 111 112 112 echo "Creating VM Template..." 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 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 + 116 116 qm set 910 -serial0 socket 117 117 qm set 910 -boot c -bootdisk virtio0 118 118 qm set 910 -agent 1 ... ... @@ -120,10 +120,153 @@ 120 120 qm set 910 -vcpus 1 121 121 qm set 910 -vga qxl 122 122 qm set 910 -ide2 nvme:cloudinit 123 -qm resize 910 virtio0 +8G 128 +# qm resize 910 scsi0 +8G 129 + 130 +read -p "Confirm converting to template by pressing Enter" 124 124 qm template 910 125 125 126 126 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 +qemu-guest-agent is for allowing proxmox to query information from the VM such as IP address, shutdown commands, etc 142 + 143 +{{code language="bash"}} 144 +sudo apt update 145 +sudo apt upgrade -y 146 +sudo apt install qemu-guest-agent -y 147 + 148 +sudo systemctl enable qemu-guest-agent.service 149 +sudo systemctl start qemu-guest-agent.service 150 +{{/code}} 151 + 152 +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. 153 + 154 +{{code language="yaml"}} 155 +# The top level settings are used as module 156 +# and system configuration. 157 +# A set of users which may be applied and/or used by various modules 158 +# when a 'default' entry is found it will reference the 'default_user' 159 +# from the distro configuration specified below 160 +users: 161 + - default 162 + 163 + 164 +# If this is set, 'root' will not be able to ssh in and they 165 +# will get a message to login instead as the default $user 166 +disable_root: true 167 + 168 +# This will cause the set+update hostname module to not operate (if true) 169 +preserve_hostname: false 170 + 171 +apt: 172 + # This prevents cloud-init from rewriting apt's sources.list file, 173 + # which has been a source of surprise. 174 + preserve_sources_list: true 175 + 176 +# If you use datasource_list array, keep array items in a single line. 177 +# If you use multi line array, ds-identify script won't read array items. 178 +# Example datasource config 179 +# datasource: 180 +# Ec2: 181 +# metadata_urls: [ 'blah.com' ] 182 +# timeout: 5 # (defaults to 50 seconds) 183 +# max_wait: 10 # (defaults to 120 seconds) 184 + 185 + 186 + 187 + 188 +# The modules that run in the 'init' stage 189 +cloud_init_modules: 190 + - seed_random 191 + - bootcmd 192 + - write-files 193 + - growpart 194 + - resizefs 195 + - disk_setup 196 + - mounts 197 + - set_hostname 198 + - update_hostname 199 + - update_etc_hosts 200 + - ca-certs 201 + - rsyslog 202 + - users-groups 203 + - ssh 204 + 205 +# The modules that run in the 'config' stage 206 +cloud_config_modules: 207 + - snap 208 + - ssh-import-id 209 + - keyboard 210 + - locale 211 + - set-passwords 212 + - grub-dpkg 213 + - apt-pipelining 214 + - apt-configure 215 + - ntp 216 + - timezone 217 + - disable-ec2-metadata 218 + - runcmd 219 + - byobu 220 + 221 +# The modules that run in the 'final' stage 222 +cloud_final_modules: 223 + - package-update-upgrade-install 224 + - fan 225 + - landscape 226 + - lxd 227 + - write-files-deferred 228 + - puppet 229 + - chef 230 + - mcollective 231 + - salt-minion 232 + - reset_rmc 233 + - scripts-vendor 234 + - scripts-per-once 235 + - scripts-per-boot 236 + - scripts-per-instance 237 + - scripts-user 238 + - ssh-authkey-fingerprints 239 + - keys-to-console 240 + - install-hotplug 241 + - phone-home 242 + - final-message 243 + - power-state-change 244 + 245 +# System and/or distro specific settings 246 +# (not accessible to handlers/transforms) 247 +system_info: 248 + # This will affect which distro class gets used 249 + distro: debian 250 + # Default user name + that default users groups (if added/used) 251 + default_user: 252 + name: debian 253 + lock_passwd: True 254 + gecos: Debian 255 + groups: [adm, audio, cdrom, dialout, dip, floppy, plugdev, sudo, video] 256 + sudo: ["ALL=(ALL) NOPASSWD:ALL"] 257 + shell: /bin/bash 258 + # Other config here will be given to the distro class and/or path classes 259 + paths: 260 + cloud_dir: /var/lib/cloud/ 261 + templates_dir: /etc/cloud/templates/ 262 + package_mirrors: 263 + - arches: [default] 264 + failsafe: 265 + primary: https://deb.debian.org/debian 266 + security: https://deb.debian.org/debian-security 267 + ssh_svcname: ssh 268 + 269 +{{/code}} 270 + 271 + 272 + 273 + 274 + 127 127 128 128 ))) 129 129
- image.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kevin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -40.8 KB - Content