Utiliser une image cloud-init dans Proxmox

Utiliser une image cloud-init dans Proxmox

Quest-ce que c’est ?

Cloud-init est une application de personnalisation d’une machine Ă  son dĂ©marrage.

Cloud-init permet par exemple d’ajouter un utilisateur, de configurer un accès SSH avec une clĂ©e, installer des paquets, faire une configuration rĂ©seau en fonction du contexte etc…

Cloud-init est un outil supportĂ© par debian, Red-hat, mais Ă©galement par les cloud providers tel qu’OVH, Amazon, Google etc…

Comment ça se présente ?

Cloud-init, c’est donc une application exĂ©cutĂ©e au premier lancement de la VM ou du container. L’application va lire un fichier de configuration, gĂ©nĂ©ralement appelĂ© cloud-init.yaml

Ce fichier contient la personnalisation

Quel lien avec Proxmox ?

Proxmox supporte cloudinit. Une rubrique est même consacrée à Cloud-init, permettant de personnaliser depuis la webgui les quelques paramètres suivants :

* user
* Password
* DNS domain
* DNS servers
* SSH puplic key
* IP config

On fait quoi alors ?

L’idĂ©e est d’installer dans notre Proxmox, un template compatible cloud-init, qui sera utilisĂ© pour crĂ©er de nouvelles VM. J’aime cloud-init pour les VM de base. Pour le reste, y a forman et puppet.

Debian fournit une image cloud-init. C’est elle que nous allons rĂ©cupĂ©rer et installer dans notre Proxmox et intĂ©grer comme template

Le tuto commence lĂ 

La première Ă©tape consiste Ă  rĂ©cupĂ©rer On rĂ©cupère l’image

wget http://cdimage.debian.org/cdimage/openstack/current/debian-10-openstack-amd64.qcow2
  • On choisi un id pour notre vm

    ID_VM=1024

  • CrĂ©ation de la VM avec 2G de RAM et une interface rĂ©seau connectĂ©e Ă  notre bridge

    qm create ${ID_VM} --memory 2048 --net0 virtio,bridge=vmbr0

  • Import de l’image disque dans la VM en spĂ©cifiant quel storage Proxmox utiliser (ici PX-DATA)

qm importdisk ${ID_VM} debian-10-openstack-amd64.qcow2

  • Rattacher le nouveau disque Ă  la VM, et quel bus système utiliser

qm set ${ID_VM} --scsihw virtio-scsi-pci --scsi0 PX-DATA:${ID_VM}/vm-${ID-VM}-disqk-0.raw

  • Ajouter un lecteur cloudinit

qm set ${ID-VM} --ide2 local:cloudinit

  • DĂ©finir le disque de boot (ici notre image)

qm set ${ID-VM} --boot c --bootdisk scsi0

  • Ajouter une interface vga pour accĂ©der Ă  la console

qm set ${ID-VM} --serial0 socket --vga serial0

  • Transformer la VM en template

qm template ${ID-VM}

Généré avec Hugo
Thème Stack conçu par Jimmy