Changes for page proxmox

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

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

Summary

Details

Page properties
Content
... ... @@ -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
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
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 -
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
121 121  qm set 910 -serial0 socket
122 122  qm set 910 -boot c -bootdisk virtio0
123 123  qm set 910 -agent 1
... ... @@ -125,154 +125,12 @@
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"
124 +qm resize 910 virtio0 +8G
131 131  qm template 910
132 132  
133 133  echo "Templates setup complete."
134 134  {{/code}}
135 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 -{{code language="bash"}}
144 -unset HISTFILE
145 -export HISTSIZE=0
146 -export HISTFILESIZE=0
147 -
148 -sudo rm /.bash_history
149 -rm ~/.bash_history
150 -{{/code}}
151 -
152 -**qemu-guest-agent** is for allowing proxmox to query information from the VM such as IP address, shutdown commands, etc
153 -
154 -{{code language="bash"}}
155 -sudo apt update
156 -sudo apt upgrade -y
157 -sudo apt install qemu-guest-agent -y
158 -
159 -sudo systemctl enable qemu-guest-agent.service
160 -sudo systemctl start qemu-guest-agent.service
161 -{{/code}}
162 -
163 -**reset machine-id** to not have overlapping ids from same template
164 -
165 -{{code language="bash"}}
166 -cat /dev/null > /etc/machine-id
167 -cat /dev/null > /var/lib/dbus/machine-id
168 -{{/code}}
169 -
170 -**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.
171 -
172 -If you used a cloud-init base image it will have run the default cloudinit which installs and confi
173 -
174 -{{code language="bash"}}
175 -cloud-init clean
176 -{{/code}}
177 -
178 -This is a debian example of what we are looking for:
179 -
180 -{{code language="yaml"}}
181 -# The top level settings are used as module
182 -# and system configuration.
183 -# A set of users which may be applied and/or used by various modules
184 -# when a 'default' entry is found it will reference the 'default_user'
185 -# from the distro configuration specified below
186 -
187 -# If this is set, 'root' will not be able to ssh in and they
188 -# will get a message to login instead as the default $user
189 -disable_root: true
190 -
191 -# This will cause the set+update hostname module to not operate (if true)
192 -preserve_hostname: false
193 -
194 -apt:
195 - # This prevents cloud-init from rewriting apt's sources.list file,
196 - # which has been a source of surprise.
197 - preserve_sources_list: true
198 -
199 -# manually managed resolv
200 -manage_resolv_conf: false
201 -
202 -package_update: true
203 -packages:
204 - - qemu-guest-agent
205 -
206 -# The modules that run in the 'init' stage
207 -cloud_init_modules:
208 - - seed_random
209 - - bootcmd
210 - - write-files
211 - - growpart
212 - - resizefs
213 - - disk_setup
214 - - mounts
215 - - set_hostname
216 - - update_hostname
217 - - update_etc_hosts
218 - - ca-certs
219 - - rsyslog
220 - - users-groups
221 - - ssh
222 -
223 -# The modules that run in the 'config' stage
224 -cloud_config_modules:
225 - - keyboard
226 - - locale
227 - - set-passwords
228 - - grub-dpkg
229 - - apt-pipelining
230 - - apt-configure
231 - - ntp
232 - - timezone
233 - - disable-ec2-metadata
234 - - runcmd
235 -
236 -# The modules that run in the 'final' stage
237 -cloud_final_modules:
238 - - package-update-upgrade-install
239 - - write-files-deferred
240 - - scripts-vendor
241 - - scripts-per-once
242 - - scripts-per-boot
243 - - scripts-per-instance
244 - - scripts-user
245 - - ssh-authkey-fingerprints
246 -# - keys-to-console
247 - - install-hotplug
248 -# - phone-home
249 - - final-message
250 - - power-state-change
251 -
252 -runcmd:
253 - - systemctl enable qemu-guest-agent.service
254 -
255 -# System and/or distro specific settings
256 -# (not accessible to handlers/transforms)
257 -system_info:
258 - # This will affect which distro class gets used
259 - distro: debian
260 - # Other config here will be given to the distro class and/or path classes
261 - paths:
262 - cloud_dir: /var/lib/cloud/
263 - templates_dir: /etc/cloud/templates/
264 - package_mirrors:
265 - - arches: [default]
266 - failsafe:
267 - primary: https://deb.debian.org/debian
268 - security: https://deb.debian.org/debian-security
269 - ssh_svcname: ssh
270 -{{/code}}
271 -
272 -
273 -
274 -
275 -
276 276  
277 277  )))
278 278  
image.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.kevin
Size
... ... @@ -1,0 +1,1 @@
1 +40.8 KB
Content