Comment j’utilise Vagrant avec libvirt

  • FrançaisFrançais



  • Je l’admets : je suis un fan de Linux. Bien que j’utilise Slackware sur des postes de travail et Red Hat Enterprise Linux (RHEL) sur des serveurs depuis des années, j’aime voir comment les autres distributions font les choses. De plus, j’aime beaucoup tester les applications et les scripts que j’écris sur d’autres distributions pour assurer la portabilité. En fait, c’est l’un des grands avantages de Linux, à mon avis : vous pouvez télécharger une distribution et tester votre logiciel dessus gratuitement. Vous ne pouvez pas faire cela avec un système d’exploitation fermé, du moins pas sans casser un CLUF ou payer pour jouer, et même alors, vous vous inscrivez souvent pour télécharger plusieurs gigaoctets juste pour tester une application qui ne dépasse pas quelques centaines mégaoctets. Mais Linux est open source, il y a donc rarement une excuse pour ignorer au moins les trois ou quatre distributions principales, sauf que la configuration d’une machine virtuelle peut prendre beaucoup de clics et parfois un réseau virtuel complexe. Au moins, c’était l’excuse jusqu’à ce que Vagrant modifie le flux de travail de la machine virtuelle pour les développeurs.

    Qu’est-ce que Vagrant

    Vagrant est un simple gestionnaire de machine virtuelle pour votre terminal. Il vous permet d’extraire facilement une machine virtuelle minimale et pré-construite à partir d’Internet, de l’exécuter localement et de s’y connecter en SSH en quelques étapes seulement. C’est la configuration la plus rapide jamais réalisée pour une machine virtuelle. Il est idéal pour les développeurs Web qui ont besoin d’un serveur Web de test, les programmeurs qui ont besoin de tester une application sur plusieurs distributions et les amateurs qui aiment voir comment fonctionnent les différentes distributions.

    Vagrant lui-même est également relativement minime. Ce n’est pas un framework de virtualisation lui-même. Il ne gère que vos machines virtuelles (“boîtes” dans la terminologie Vagrant). Il peut utiliser VirtualBox ou, via un plug-in, le projet léger libvirt en tant que backend.

    Qu’est-ce que libvirt

    Le projet libvirt est une boîte à outils conçue pour gérer la virtualisation, avec prise en charge de KVM, QEMU, LXC, etc. Vous pourriez le considérer comme une sorte d’API de machine virtuelle, permettant aux développeurs d’écrire des applications conviviales qui permettent aux utilisateurs d’orchestrer facilement la virtualisation via libvirt. J’utilise libvirt comme backend pour Vagrant car il est utile dans plusieurs applications, y compris virt-manager et GNOME Boxes.

    Installer Vagrant

    Vous pouvez installer Vagrant à partir de vagrantup.com/downloads. Des versions sont disponibles pour les systèmes basés sur Debian, les systèmes basés sur CentOS, macOS, Windows, etc.

    Pour CentOS, Fedora ou similaire, vous obtenez un package RPM, que vous pouvez installer avec dnf:

    $ sudo dnf install ./vagrant_X.Y.ZZ_x86_64.rpm

    Sur Debian, Linux Mint, Elementary et similaires, vous obtenez un package DEB, que vous pouvez installer avec apt:

    $ sudo apt install ./vagrant_X.Y.ZZ_x86_64.deb

    Installation de libvirt et des packages de support

    Sous Linux, votre distribution peut déjà avoir installé libvirt, mais pour permettre l’intégration avec Vagrant, vous avez également besoin de quelques autres packages. Installez-les avec votre gestionnaire de paquets.

    Sur Fedora, CentOS et similaires :

    $ sudo dnf install gcc libvirt
    libvirt-devel libxml2-devel
    make ruby-devel libguestfs-tools

    Sur Debian, Linux Mint et similaires :

    $ sudo apt install build-dep vagrant ruby-libvirt
    qemu libvirt-daemon-system libvirt-clients ebtables
    dnsmasq-base libxslt-dev libxml2-dev libvirt-dev
    zlib1g-dev ruby-dev libguestfs-tools

    En fonction de votre distribution, vous devrez peut-être lancer le libvirt démon:

    $ sudo systemctl start libvirtd

    Installation du plugin Vagrant-libvirt

    Dans Vagrant, libvirt est activé via un plug-in. Vagrant facilite l’installation d’un plug-in, de sorte que votre première commande Vagrant est une commande que vous exécuterez rarement à nouveau :

    $ vagrant plugin install vagrant-libvirt

    Maintenant que le plug-in libvirt est installé, vous pouvez commencer à utiliser des machines virtuelles.

    Configuration de votre environnement Vagrant

    Pour commencer avec Vagrant, créez un répertoire appelé ~/Vagrant. C’est là que votre Vagrantfiles sont stockés.

    $ mkdir ~/Vagrant

    Dans ce répertoire, créez un sous-répertoire pour représenter une distribution que vous souhaitez télécharger. Par exemple, supposons que vous ayez besoin d’une boîte de test CentOS.

    Créez un répertoire CentOS, puis modifiez-le :

    $ mkdir ~/Vagrant/centos
    $ cd ~/Vagrant/centos

    Vous devez maintenant trouver une machine virtuelle pour pouvoir convertir le répertoire que vous venez de créer en un environnement Vagrant.

    Trouver une machine virtuelle Vagrant

    D’une manière générale, les boîtes Vagrant proviennent de trois endroits différents : Hashicorp (les mainteneurs de Vagrant), les mainteneurs des distributions et des gens comme vous et moi. Certaines images sont minimales, destinées à servir de base à la personnalisation. En revanche, d’autres tentent de résoudre un besoin spécifique (par exemple, vous pouvez trouver une image de pile LAMP prête pour le développement Web). Vous pouvez trouver des images en parcourant ou en recherchant des boîtes dans le hub principal app.vagrantup.com/boxes/search.

    Pour cet exemple, recherchez “centos” et trouvez l’entrée nommée generic/centos8. Cliquez sur l’image pour obtenir des instructions sur l’utilisation de la machine virtuelle. Les instructions se déclinent en deux variétés :

    • Le code dont vous avez besoin pour un Vagrantfile
    • La commande dont vous avez besoin pour utiliser la box depuis un terminal

    Cette dernière méthode est la plus simple :

    $ vagrant init generic/centos8

    Les init La sous-commande crée un fichier de configuration, appelé Vagrantfile, dans votre répertoire actuel, qui transforme ce répertoire en un environnement Vagrant. A tout moment, vous pouvez consulter une liste des environnements Vagrant connus en utilisant le global-status sous-commande :

    $ vagrant global-status
    id       name    provider state   directory
    -------------------------------------------
    49c797f  default libvirt running /home/tux/Vagrant/centos8

    Démarrer une machine virtuelle avec Vagrant

    Une fois que vous avez exécuté le init commande, vous pouvez démarrer votre machine virtuelle avec vagrant up:

    $ vagrant up

    Cela oblige Vagrant à télécharger l’image de la machine virtuelle si elle n’existe pas déjà localement, à configurer un réseau virtuel et à configurer votre box.

    Entrer dans une machine virtuelle Vagrant

    Une fois que votre machine virtuelle est opérationnelle, vous pouvez vous y connecter avec vagrant ssh:

    
    

    You connect to the box running in your current Vagrant environment. Once logged in, you can run all the commands native to that host. It’s a virtual machine running its own kernel, with emulated hardware and common Linux software.

    Leaving a Vagrant virtual machine

    To leave your Vagrant virtual machine, log out of the host as you normally exit a Linux computer:

    box$ exit

    Alternativement, vous pouvez mettre la machine virtuelle hors tension :

    box$ sudo poweroff

    Vous pouvez également arrêter le fonctionnement de la machine à l’aide de la vagrant commander:

    box$ vagrant halt

    Détruire une machine virtuelle Vagrant

    Lorsque vous avez terminé avec une machine virtuelle Vagrant, vous pouvez la détruire :

    $ vagrant destroy

    Alternativement, vous pouvez supprimer une machine virtuelle en utilisant le box sous-commande :

    $ vagrant box remove generic/centos8

    Le vagabond est facile

    Vagrant rend les machines virtuelles triviales, jetables et rapides. Lorsque vous avez besoin d’un environnement de test ou d’un faux serveur sur lequel effectuer un ping ou développer, ou d’un ordinateur de laboratoire propre pour l’expérimentation ou la surveillance, vous pouvez en obtenir un avec Vagrant. Certaines personnes pensent que les machines virtuelles ne sont plus pertinentes maintenant que les conteneurs ont pris le contrôle des serveurs, mais les machines virtuelles ont des caractéristiques uniques qui les rendent utiles. Ils exécutent leur propre noyau, disposent d’une pile complète et unique distincte de la machine hôte et utilisent du matériel émulé. Lorsqu’une machine virtuelle est ce dont vous avez besoin, Vagrant peut être le meilleur moyen de l’obtenir.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.