Aller au contenu

Proxmox template cloud init

Cloud-Init est un outil permettant d'automatiser la configuration initiale des machines virtuelles. Comme la configuration du nom d'hôte, des interfaces réseau et des clés autorisées. Il peut être utilisé lors du provisionnement de machines virtuelles qui ont été déployées sur la base d'un modèle afin d'éviter les conflits sur le réseau.

Notre premier template

Créer une machine virtuelle sans disque virtuel

vm_cloud

Récupérer l'image disque depuis Debian Offical Cloud Images

Depuis un shell sur votre Proxmox:

Image Cloud Init: debian-12-generic-amd64-20240102-1614.qcow2

wget https://cloud.debian.org/images/cloud/bookworm/20240102-1614/debian-12-generic-amd64-20240102-1614.qcow2

Sortie:

root@pve:/mnt/datastore/template/cloudinit# ls -l
total 370772
-rw-r--r-- 1 root root 379663872 Jan  4 05:49 debian-12-generic-amd64-20240102-1614.qcow2
root@pve:/mnt/datastore/template/cloudinit#

Il va falloir importer notre disque sur la VM.

qm importdisk 10005 debian-12-generic-amd64-20240102-1614.qcow2 DATASTORE --format qcow2
  • qm: Il s'agit de la commande principale pour gérer les machines virtuelles (VM) dans Proxmox.
  • importdisk : C'est une sous-commande de qm qui permet d'importer un disque virtuel depuis un fichier externe vers une machine virtuelle existante.
  • 10005 : C'est l'ID de la machine virtuelle dans laquelle vous souhaitez importer le disque virtuel. Chaque VM sur Proxmox est identifiée par un numéro unique appelé ID.
  • debian-12-generic-amd64-20240102-1614.qcow2 : C'est le nom du fichier du disque virtuel que vous souhaitez importer.
  • DATASTORE : Il s'agit du nom du stockage (datastore) où vous souhaitez placer le disque virtuel importé.
  • --format qcow2 : Cette option spécifie le format du disque virtuel que vous importez, qui est dans ce cas qcow2.

Sortie :

Successfully imported disk as 'unused0:DATASTORE:10005/vm-10005-disk-0.qcow2'

Puis on va associer un port série avec la sortie vga de serial0.

qm set 10005 --serial0 socket --vga serial0
  • --serial0 socket: Cette partie de la commande configure le premier port série (serial0) de la machine virtuelle pour utiliser un mode de communication de type "socket". En utilisant un socket, vous pouvez établir une communication bidirectionnelle entre la machine virtuelle et l'hyperviseur ou d'autres systèmes via un canal de communication de type socket. Cela permet généralement une communication plus souple que la simple redirection de la sortie vers la console.
  • --vga serial0: Cette partie de la commande configure le port VGA de la machine virtuelle pour utiliser le port série (serial0) que nous avons configuré précédemment. En d'autres termes, cela redirige la sortie graphique de la machine virtuelle vers le port série, ce qui peut être utile dans certaines situations où vous avez besoin de capturer la sortie graphique de la VM via une connexion série.

Sortie :

update VM 10005: -serial0 socket -vga serial0

Au niveau du Proxmox, il faut activer le disque: Sélctionner le disque (Unused Disk 0) -> Edit -> Add

Ajout disque

Maintenant on va ajouter un disque cloudinit afin de pouvoir utiliser cloudinit: Add -> CloudInitDrive

Ajout CloudInitDrive

Puis il faut modifier le boot order: Options -> Boot Order

Alt text

On peux éditer notre template CloudInit.

Edit CloudInit

Éditez les informations et convertissez la VM en modèle (template).

Félicitations ! Vous avez réussi à créer une image Debian cloud-init pour Proxmox. Avec votre nouveau modèle de VM, vous pouvez maintenant déployer des VM personnalisées sans effort. Profitez de la puissance des images de cloud-init pour libérer tout le potentiel de votre environnement Proxmox.

Source cloudinit

  • Ubuntu: https://cloud-images.ubuntu.com/
  • Debian: https://cloud.debian.org/images/cloud/

Pour Kali Linux

Décompresser l'archive:

tar -xJvf kali-linux-2023.4-cloud-genericcloud-amd64.tar.xz

Convertir disqk.raw au format .qcow2

qemu-img convert -f raw -O qcow2 disk.raw kali-linux-2023.4-cloud-genericcloud-amd64.qcow2