Virtualisation

Proxmox : Template Debian 13 avec Cloud-Init

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...

Alban Mary3 min de lecture

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

bash
$ ssh root@pvehost

Téléchargement de l'image Cloud Debian 13

bash
$ wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2

Ajout de qemu-guest-agent

bash
$ 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)

bash
$ 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

bash
$ 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

bash
$ 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

bash
$ 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

bash
$ 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 :

bash
$ 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 :

bash
$ 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.

$ whoami
Alban MaryIngénieur systèmes & réseaux en alternance chez Epsight, étudiant à l'EPSI Nantes. J'écris ici ce que je mets en place.
(Commentaires)

Nom et commentaire publiés après modération, email jamais affiché. Politique de confidentialité

Chargement…