Skip to main content

Création d'un template Cloudinit

Création d'un template avec cloud init.

  1. Se connecter à proxmox en SSH
  2. Créer un dossier de travail:

    image.png

  3. Téléchargement du template au choix Debian ou Ubuntu:
    • Debian: 
       wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
    • Ubuntu:
      wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

  4. Je télécharge Ubuntu, si l'Os choisi est Debian alors il faudra dézipper ce qu'on aura téléchargé:

    image.png

  5. On va customiser notre image:
    apt get update && apt install -y libguestfs-tools

     


      1. Installation de l'agent de liaison:
        virt-customize -a jammy-server-cloudimg-amd64.img --install qemu-guest-agent
      2. Création d'un nouvel utilisateur:
         virt-customize -a jammy-server-cloudimg-amd64.img  --run-command 'useradd kvega'
        #changer le mot de passe du user créé
        virt-customize -a debian-12-generic-amd64.qcow2 --run-command 'echo "kvega:PASSWORD" | chpasswd'
        # Creation de son Home
         virt-customize -a jammy-server-cloudimg-amd64.img  --run-command 'mkdir -p /home/kvega/.ssh'
        # Mise à jour des droits sur le home du user
        virt-customize -a jammy-server-cloudimg-amd64.img --run-command 'chown kvega:kvega /home/kvega'
        # Injection de la clé SSH pour la connexion
        virt-customize -a jammy-server-cloudimg-amd64.img --ssh-inject kvega:file:/root/.ssh/id_rsa.pub
  6. On va créer un template pour nos futurs machines:
    # CREATION DU TEMPLATE
    # Parametrage de la RAM et du CPU
    qm create 9001 --name 'Ubuntu22-Template' --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
    # Import du disque Init dans le template
    qm importdisk 9001 jammy-server-cloudimg-amd64.img local-lvm
    # parametrage du disque
    qm set 9001 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9001-disk-0
    qm set 9001 --boot c --bootdisk scsi0
    # Creation du volume cloudinit
    qm set 9001 --ide2 local-lvm:cloudinit
    # Create de la console (serial)
    qm set 9001 --serial0 socket --vga serial0
    # Activation de l'agent
    qm set 9001 --agent enabled=1
    #Transforamtion de la vm en template
    qm template 9001

    A cette étape on a un template de créé:

    image.png

  7. On va tester la création d'une VM via le template:
    qm clone 9001 999 --name test-clone-cloud-init

     

  8. La VM est créée, on va modifier son IP et donner un mot de passe à notre utilisateur:

    image.png