39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
template_id=$1
|
|
template_name=$2
|
|
cloudinit_img=$3
|
|
|
|
storage="Datastore" # De base local-lvm | local-btrs | local-zfs | local
|
|
|
|
# Personnalisation Cloud-init
|
|
ci_username="cloudinit"
|
|
ci_password="changeme"
|
|
ci_network="dhcp"
|
|
|
|
# Création de la VM
|
|
qm create $template_id --memory 2048 --core 2 --name $template_name --net0 virtio,bridge=vmbr0 --agent 1
|
|
|
|
# Import disque cloud-init
|
|
qm importdisk $template_id $cloudinit_img/jammy-server-cloudimg-amd64.img Datastore
|
|
|
|
# Création disque de stockage
|
|
qm set $template_id --scsihw virtio-scsi-pci --scsi0 Datastore:$template_id/vm-$template_id-disk-0.raw
|
|
|
|
# Activation cloud-init
|
|
qm set $template_id --ide2 $storage:cloudinit
|
|
|
|
# Mise en place du boot sur cloud-init
|
|
qm set $template_id --boot c --bootdisk scsi0
|
|
|
|
# Mise en place serial vga obligatoire pour cloud-init
|
|
qm set $template_id --serial0 socket --vga serial0
|
|
|
|
# Paramètres cloud-init
|
|
qm set $template_id -ciuser $ci_username
|
|
qm set $template_id -cipassword $ci_password
|
|
qm set $template_id --ipconfig0 ip=$ci_network
|
|
|
|
# Création template
|
|
qm template $template_id
|