Créer une image Cloud de Debian UEFI pour QEMU, avec Packer, Bento et Salt

Sommaire

Prérequis

Procédure

  1. Depuis le serveur Salt, installez QEMU et libvirt sur le Salt Minion cible

    1sudo salt -G 'roles:packer' state.apply libvirt.server,libvirt.qemu,libvirt.extra
    
  2. Installer Packer sur le Salt Minion cible

    1sudo salt -G 'roles:packer' state.apply packer
    
  3. Configurez le projet Bento et votre dépôt Packer via Salt

    1sudo salt -G 'roles.packer' state.apply packer.templates
    
  4. Configurez le répertoire de création des images Packer

    1sudo mkdir -p /srv/packer/build
    2sudo chown $USER /srv/packer/build
    
  5. Sur le serveur Packer, lancez la création de l'image Cloud de Debian

    1cd && packer build -var-file="/srv/packer/templates/kartzone-demo/packer-variables-debian11-cloud.json" --only=qemu -except=vagrant /srv/packer/templates/bento/packer_templates/debian/debian-11.*-amd64.json
    

Dépannage Packer

Pour résoudre un incident, vous pouvez exécuter Packer en mode debug :

1cd && PACKER_LOG=1 packer build -var-file="/srv/packer/templates/kartzone-demo/packer-variables-debian11-cloud.json" --only=qemu -except=vagrant /srv/packer/templates/bento/packer_templates/debian/debian-11.*-amd64.json

Vous avez aussi la possibilité d'afficher la console de la machine virtuelle en éditant la variable "headless" :

1cd && PACKER_LOG=1 packer build -var headless=false -var-file="/srv/packer/templates/kartzone-demo/packer-variables-debian11-cloud.json" --only=qemu -except=vagrant /srv/packer/templates/bento/packer_templates/debian/debian-11.*-amd64.json

Annexes