Changes for page proxmox

Last modified by Kevin Wiki on 2026/05/18 15:44

From version 7.1
edited by Kevin Wiki
on 2025/07/05 20:23
Change comment: There is no comment for this version
To version 10.3
edited by Kevin Wiki
on 2026/05/18 08:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -103,17 +103,21 @@
103 103  set -e
104 104  
105 105  echo "Downloading LXC templates..."
106 -pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.gz
107 -pveam download local ubuntu-24.04-standard_24.04-1_amd64.tar.zst
108 -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
109 109  
110 110  echo "Downloading Ubuntu cloud image..."
111 111  wget -N http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img
112 112  
113 113  echo "Creating VM Template..."
114 -qm create 910 -name template-ubuntu-jammy -memory 2048 -net0 virtio,bridge=vmbr0 -cores 2 -sockets 1
115 -qm importdisk 910 ubuntu-24.04-server-cloudimg-amd64.img nvme
116 -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 +
117 117  qm set 910 -serial0 socket
118 118  qm set 910 -boot c -bootdisk virtio0
119 119  qm set 910 -agent 1
... ... @@ -121,12 +121,144 @@
121 121  qm set 910 -vcpus 1
122 122  qm set 910 -vga qxl
123 123  qm set 910 -ide2 nvme:cloudinit
124 -qm resize 910 virtio0 +8G
128 +# qm resize 910 scsi0 +8G
129 +
130 +read -p "Confirm converting to template by pressing Enter"
125 125  qm template 910
126 126  
127 127  echo "Templates setup complete."
128 128  {{/code}}
129 129  
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 +**reset machine-id** to not have overlapping ids from same template
153 +
154 +{{code language="bash"}}
155 +cat /dev/null > /etc/machine-id
156 +cat /dev/null > /var/lib/dbus/machine-id
157 +{{/code}}
158 +
159 +**clear bash history** to not leave any configuration in history
160 +
161 +
162 +**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
163 +
164 +{{code language="bash"}}
165 +cloud-init clean
166 +{{/code}}
167 +
168 +This is a debian example of what we are looking for:
169 +
170 +{{code language="yaml"}}
171 +# The top level settings are used as module
172 +# and system configuration.
173 +# A set of users which may be applied and/or used by various modules
174 +# when a 'default' entry is found it will reference the 'default_user'
175 +# from the distro configuration specified below
176 +users:
177 + - default
178 +
179 +# If this is set, 'root' will not be able to ssh in and they
180 +# will get a message to login instead as the default $user
181 +disable_root: true
182 +
183 +# This will cause the set+update hostname module to not operate (if true)
184 +preserve_hostname: false
185 +
186 +apt:
187 + # This prevents cloud-init from rewriting apt's sources.list file,
188 + # which has been a source of surprise.
189 + preserve_sources_list: true
190 +
191 +# The modules that run in the 'init' stage
192 +cloud_init_modules:
193 + - seed_random
194 + - bootcmd
195 + - write-files
196 + - growpart
197 + - resizefs
198 + - disk_setup
199 + - mounts
200 + - set_hostname
201 + - update_hostname
202 + - update_etc_hosts
203 + - ca-certs
204 + - rsyslog
205 + - users-groups
206 + - ssh
207 +
208 +# The modules that run in the 'config' stage
209 +cloud_config_modules:
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 +
220 +# The modules that run in the 'final' stage
221 +cloud_final_modules:
222 + - package-update-upgrade-install
223 + - write-files-deferred
224 + - scripts-vendor
225 + - scripts-per-once
226 + - scripts-per-boot
227 + - scripts-per-instance
228 + - scripts-user
229 + - ssh-authkey-fingerprints
230 +# - keys-to-console
231 + - install-hotplug
232 +# - phone-home
233 + - final-message
234 + - power-state-change
235 +
236 +# System and/or distro specific settings
237 +# (not accessible to handlers/transforms)
238 +system_info:
239 + # This will affect which distro class gets used
240 + distro: debian
241 + # Default user name + that default users groups (if added/used)
242 + default_user:
243 + name: debian
244 + lock_passwd: True
245 + gecos: Debian
246 + groups: [sudo]
247 + # Disables password-less sudo commands for default/debian user
248 + sudo: ["ALL=(ALL) ALL"]
249 + shell: /bin/bash
250 + # Other config here will be given to the distro class and/or path classes
251 + paths:
252 + cloud_dir: /var/lib/cloud/
253 + templates_dir: /etc/cloud/templates/
254 + package_mirrors:
255 + - arches: [default]
256 + failsafe:
257 + primary: https://deb.debian.org/debian
258 + security: https://deb.debian.org/debian-security
259 + ssh_svcname: ssh
260 +{{/code}}
261 +
262 +
263 +
264 +
265 +
130 130  
131 131  )))
132 132  
image.jpg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kevin
Size
... ... @@ -1,1 +1,0 @@
1 -40.8 KB
Content