Créer un template Linux cloud-init pour Proxmox
- Loïs Dutour
Table of Contents
Un template Proxmox bien préparé est la base d’un déploiement IaC propre. Ce guide couvre les packages indispensables et le nettoyage nécessaire avant de convertir une VM en template.
Packages indispensables
QEMU Guest Agent
Permet à Proxmox de remonter les IPs des VMs dans l’interface web et d’interagir avec le système invité (snapshot cohérents, shutdown propre).
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agentCloud-init
Permet à la VM de lire la configuration envoyée depuis Terraform au premier démarrage (IP, hostname, clé SSH, utilisateur).
apt install cloud-initSSH Server
Requis pour qu’Ansible puisse se connecter et configurer la VM.
apt install openssh-server
systemctl enable --now sshdPython 3
Requis par Ansible pour exécuter ses modules.
apt install python3sudo
Requis pour l’élévation de privilèges via Ansible.
apt install sudoNettoyage avant conversion en template
Ces étapes sont obligatoires — sans elles, toutes les VMs clonées depuis ce template auront le même machine-id et les mêmes clés SSH hôtes, ce qui causera des conflits réseau et SSH.
apt update && apt install -y qemu-guest-agent cloud-init python3 sudo
systemctl enable qemu-guest-agent
# Supprimer l'utilisateur temporaire si créé pendant l'install
deluser --remove-home tpl_adm
# Reset du machine-id (doit être unique par VM)
truncate -s 0 /etc/machine-id
ln -sf /etc/machine-id /var/lib/dbus/machine-id
# Supprimer les clés SSH hôtes (régénérées au premier démarrage)
rm -f /etc/ssh/ssh_host_*
# Reset cloud-init
cloud-init clean --logs
# Nettoyage
apt clean
history -c
# Éteindre (ne pas redémarrer — convertir en template depuis Proxmox)
poweroff⚠️ Une fois la VM éteinte, convertis-la en template depuis l’interface Proxmox : clic droit sur la VM → Convert to Template. Ne la redémarre pas avant — cloud-init se réinitialiserait.
Dépôts Debian 13 (Trixie)
Si les miroirs sont manquants ou incorrects :
cat << EOF > /etc/apt/sources.list
# Miroirs officiels Debian 13 (Trixie)
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
# Mises à jour de sécurité
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
# Mises à jour "updates"
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
EOFapt update