Tutoriel : Créez votre template Debian 13 Cloud-Init sur Proxmox en quelques minutes

Tutoriel : Créez votre template Debian 13 Cloud-Init sur Proxmox en quelques minutes

La création de machines virtuelles (VM) à la volée est l’une des fonctionnalités les plus puissantes de Proxmox. Mais redémarrer d’une ISO, suivre tout le processus d’installation à chaque fois… c’est long et répétitif. Heureusement, il y a une solution bien plus élégante : les templates Cloud-Init.

Interior of big modern server room. 3d rendering illustration

Cloud-Init est un standard multi-distribution pour l’initialisation des instances de cloud. Il permet de configurer automatiquement la VM au premier démarrage : nom d’hôte, réseau, clés SSH, utilisateurs, etc.

Dans ce tutoriel, nous allons voir comment créer un template Proxmox pour Debian 13 (« Trixie ») en utilisant une image « cloud » officielle. Une fois ce template créé, vous pourrez cloner et déployer de nouvelles VM Debian entièrement configurées en quelques secondes !

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Un serveur Proxmox VE fonctionnel et accessible en SSH ou via la console web.
  • Un pont réseau (network bridge) configuré. Dans cet exemple, nous utiliserons vmbr0.
  • Un espace de stockage pour les disques des VM. Nous utiliserons local-lvm, mais adaptez selon votre configuration.

Étape 1 : Personnalisation des variables

Pour rendre le processus plus simple et adaptable, nous allons commencer par définir quelques variables. Ouvrez un terminal sur votre hôte Proxmox et gardez ces valeurs à portée de main.

# ----- VARIABLES À PERSONNALISER -----
VMID="8001"                           # ID unique pour la future VM et le template
VMNAME="debian13-cloudinit"           # Nom du template
STORAGE="local-lvm"                   # Nom de votre stockage cible pour les disques
BRIDGE="vmbr0"                        # Nom de votre pont réseau

Astuce : Choisissez un VMID élevé (ex: 8000, 9000) pour que vos templates n’interfèrent pas avec les ID de vos VM en production.

Étape 2 : Télécharger l’image Cloud de Debian 13

Debian fournit des images pré-construites spécialement pour les environnements cloud. Elles sont légères, minimalistes et intègrent déjà Cloud-Init. Nous allons télécharger la dernière version pour Debian 13 « Trixie ».

wget -N https://cloud.debian.org/images/cloud/trixie/latest/debian-13-genericcloud-amd64.qcow2

Cette commande télécharge le fichier qcow2 (un format d’image disque optimisé) dans le répertoire courant (/root/ si vous êtes connecté en root).

Étape 3 : Création de la Machine Virtuelle de base

Maintenant, nous créons une nouvelle VM qui servira de base pour notre template.

qm create ${VMID} --name debian13-cloudinit --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci --machine q35

Détaillons cette commande :

  • qm create ${VMID} : Crée une VM avec l’ID que nous avons défini.
  • --name ${VMNAME} : Lui donne un nom descriptif.
  • --net0 virtio,bridge=${BRIDGE} : Crée une carte réseau VirtIO (pour de meilleures performances) connectée à notre pont réseau.
  • --scsihw virtio-scsi-pci : Définit le contrôleur de disque sur virtio-scsi-pci, un choix moderne et performant.
  • --machine q35 : Utilise le type de machine q35, qui est plus récent que le i440fx par défaut.

Étape 4 : Importation et configuration du disque

L’image que nous avons téléchargée va devenir le disque principal de notre VM.

# Importer l'image qcow2 dans le stockage Proxmox
qm set ${VMID} --scsi0 ${STORAGE}:0,discard=on,ssd=1,format=qcow2,import-from=$(pwd)/debian-13-genericcloud-amd64.qcow2

# Redimensionner le disque à une taille plus pratique (ex: 8 Go)
qm disk resize ${VMID} scsi0 8G

# Définir ce disque comme disque de démarrage principal
qm set ${VMID} --boot order=scsi0
  • qm set ... --scsi0 ...: Attache un disque au contrôleur SCSI en position 0.
  • import-from=...: C’est ici que la magie opère. Proxmox importe l’image téléchargée et la convertit en un disque pour la VM sur le stockage local-lvm.
  • discard=on,ssd=1: Options utiles, surtout sur des stockages SSD, pour améliorer les performances et la gestion de l’espace.
  • qm disk resize: L’image de base est très petite. Nous l’agrandissons à 8 Go. Cloud-Init se chargera d’étendre le système de fichiers pour occuper tout l’espace au premier démarrage.

Étape 5 : Configuration matérielle et Cloud-Init

Nous allons maintenant finaliser la configuration hardware et, surtout, ajouter le fameux lecteur Cloud-Init.

# Allouer CPU et RAM
qm set ${VMID} --cpu host --cores 2 --memory 2048

# Configurer pour le boot UEFI (plus moderne que le BIOS legacy)
qm set ${VMID} --bios ovmf --efidisk0 ${STORAGE}:1,format=qcow2,efitype=4m,pre-enrolled-keys=1

# L'étape CRUCIALE : ajouter le lecteur Cloud-Init
qm set ${VMID} --ide2 ${STORAGE}:cloudinit

--cpu host : Permet à la VM d’utiliser les mêmes instructions CPU que l’hôte, ce qui maximise les performances.

--bios ovmf: Active le mode UEFI. Le --efidisk0 crée un petit disque dédié pour stocker les paramètres UEFI.

--ide2 ...:cloudinit: C’est la pièce maîtresse. Proxmox va créer un petit lecteur CD-ROM virtuel qui contiendra toutes les données de configuration (nom d’hôte, IP, clés SSH…) que vous définirez lors du clonage. La VM lira ce « CD-ROM » au démarrage pour se configurer.

Étape 6 : Transformation en Template

Notre VM est prête ! La dernière étape consiste à la convertir en template. Un template ne peut pas être démarré directement, il sert uniquement de base pour être cloné.

qm template ${VMID}

Et voilà ! Si vous allez dans l’interface web de Proxmox, vous verrez votre nouvelle entrée debian13-cloudinit avec une icône différente.

Comment utiliser votre nouveau template ?

C’est très simple :

  1. Faites un clic droit sur le template dans l’interface Proxmox.
  2. Choisissez « Cloner ».
  3. Donnez un nom et un ID à votre nouvelle VM.
  4. Allez dans l’onglet « Cloud-Init » de la nouvelle VM (pas du template !) et configurez votre utilisateur, mot de passe ou clé SSH, et les paramètres réseau.
  5. Démarrez la VM.

En quelques instants, votre machine virtuelle Debian 13 sera en ligne, accessible en SSH et entièrement configurée selon vos spécifications. Fini les installations manuelles !

Comments

No comments yet. Why don’t you start the discussion?

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *