modify: Пт 30 мая 2025 19:13:11 MSK
parent
a4ff970a9c
commit
4dc8b8701c
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
|
||||
# завершить выполнение, если некоторая команда, которая не является частью какого-либо теста (например, if [ ... ] или конструктора &&), возвращает ненулевой код
|
||||
set -e
|
||||
|
||||
# проверка запуска скрипта с параметром
|
||||
if [ -n "$1" ]; then
|
||||
vm_passwd="$1"
|
||||
else
|
||||
echo "Необходимо указать желаемый пароль для шаблона первым аргументом"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# задаём необходимые переменные
|
||||
cloudimg=debian-12-generic-amd64.qcow2
|
||||
img_url=https://cloud.debian.org/images/cloud/bookworm/latest
|
||||
|
||||
# параметры вм
|
||||
vm_id=508
|
||||
vm_name="deb12-cloudinit-template"
|
||||
vm_memory=2048
|
||||
vm_cores=2
|
||||
vm_user="sa"
|
||||
|
||||
# данные proxmox
|
||||
px_storage=local-lvm
|
||||
px_bridge=vmbr0
|
||||
|
||||
# проверить наличие образа, если его нет - скачать образ ubuntu server 20.04 с поддержкой cloud-init
|
||||
if [ ! -f "$cloudimg" ]; then
|
||||
echo "Файл $cloudimg не существует"
|
||||
echo Скачиваю образ $img_url/$cloudimg
|
||||
wget $img_url/$cloudimg
|
||||
fi
|
||||
|
||||
echo Создаю ВМ
|
||||
qm create $vm_id --name $vm_name --memory $vm_memory --cores $vm_cores --net0 virtio,bridge=$px_bridge
|
||||
qm importdisk $vm_id $cloudimg $px_storage
|
||||
qm set $vm_id --scsihw virtio-scsi-pci --scsi0 $px_storage:vm-$vm_id-disk-0
|
||||
qm set $vm_id --boot c --bootdisk scsi0
|
||||
qm set $vm_id --ide2 $px_storage:cloudinit
|
||||
qm set $vm_id --serial0 socket --vga serial0
|
||||
qm set $vm_id --cipassword=$vm_passwd --ciuser=$vm_user
|
||||
qm set $vm_id --agent 1
|
||||
|
||||
echo Конвертирую ВМ в шаблон
|
||||
qm template $vm_id
|
||||
|
||||
echo Удаляю ранее скачанный образ
|
||||
rm $cloudimg
|
||||
|
||||
echo Готово
|
||||
exit 0
|
Loading…
Reference in New Issue