Objectif
Cette documentation décrit la création d'un template Debian 13 prêt à l'emploi avec Cloud-Init sur un hôte Proxmox VE. Ce template permettra de déployer rapidement des VM configurables via Cloud-Init (hostname, IP, clés SSH...) et intégrables à des outils comme Terraform ou OpenTofu.
Création du template
Connexion à l'hôte Proxmox
$ ssh root@pvehost
Téléchargement de l'image Cloud Debian 13
$ wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2
Ajout de qemu-guest-agent
$ apt install -y libguestfs-tools
$ virt-customize -a debian-13-generic-amd64.qcow2 --install qemu-guest-agent
Création d'une VM de base (ID 10000)
$ qm create 10000 --name debian13-cloudinit --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-single
Que fait cette commande ?
- Crée une VM avec l'ID 10000.
- Nomme la VM "debian13-cloudinit".
- Configure le réseau avec une interface VirtIO sur le bridge vmbr0.
- Utilise un contrôleur SCSI VirtIO pour les disques.
(Attention)
Je vous déconseille d'utiliser le même bridge que votre Proxmox, car cela peut causer des conflits réseau. Utilisez plutôt un bridge dédié pour vos VMs.
Ajout du disque principal depuis l'image cloud
$ qm set 10000 --scsi0 local:0,iothread=1,backup=off,format=qcow2,import-from=/root/debian-13-generic-amd64.qcow2
$ qm disk resize 10000 scsi0 10G
Que fait cette commande ?
- Ajoute le disque principal à la VM depuis l'image téléchargée.
- Redimensionne le disque à 10 Go pour laisser de la place pour les données.
- Utilise le format QCOW2 pour une meilleure gestion des snapshots et de l'espace disque.
Configuration du boot, CPU et RAM
$ qm set 10000 --boot order=scsi0
$ qm set 10000 --cpu host --cores 1 --memory 2048
Que fait cette commande ?
- Définit le disque SCSI comme disque de boot principal.
- Configure la VM pour utiliser le CPU de l'hôte avec 1 cœur.
- Alloue 2 Go de RAM à la VM.
Ajout du disque Cloud-Init et activation de l'agent
$ qm set 10000 --ide2 local:cloudinit
$ qm set 10000 --agent enabled=1
Que fait cette commande ?
- Ajoute un disque Cloud-Init pour la configuration dynamique de la VM.
- Active l'agent QEMU pour permettre la communication entre la VM et l'hôte Proxmox.
Configuration des options Cloud-Init (dans l'interface Web)
Les paramètres Cloud-Init (utilisateur, IP, hostname, clé SSH...) sont à ajuster depuis la WebUI de Proxmox dans les options de la VM.
Conversion en template
$ qm template 10000
(Info)
Convertit la VM en template réutilisable.
Utilisation du template
Clonage
Cloner le template en VM via l'interface graphique ou via CLI :
$ qm clone 10000 110 --name vm-test --full true
Configuration Cloud-Init (via GUI ou CLI)
Modifier les paramètres utilisateur, IP, hostname, clé SSH selon les besoins.
Démarrage de la VM et connexion
Démarrer la VM, récupérer son IP, puis se connecter vous :
$ ssh admin@10.1.30.31
Conclusion
Vous disposez maintenant d'un template Debian 13 cloud-init pleinement fonctionnel, prêt à être cloné et personnalisé pour tout usage automatisé dans votre infrastructure.