Accueil Technologies Vagrant – Industrialiser la création de machines virtuelles (VM)
Vagrant - Industrialiser la création de machine virtuelle (VM)

Vagrant – Industrialiser la création de machines virtuelles (VM)

par Jérémy PASTOURET
Publié : Mis à jour le

J’ai découvert très récemment Vagrant. Je vais donc vous parler plus précisément de mon utilisation, mais si ça se trouve vous avez d’autres cas d’usage. L’idée de Vagrant, c’est de pouvoir créer/monter des machines virtuelles sous VirtualBox, VMWare voire même AWS (en suivant un tuto). Vous me direz qu’il n’y a rien de spectaculaire à cela. En fait, Vagrant se base sur un script écrit par vous. Il peut donc reproduire à l’infini le système d’exploitation que vous désirez avec telle ou telle configuration. Pour ma part, j’utilise Vagrant pour monter des machines de tests pré-configuration (connexion réseaux, compte utilisateur…)

Pour tout complément d’information sur Vagrant, je vous conseille de lire cette page en anglais.

Installation de Vagrant

Tout d’abord, rendez-vous sur cette page de téléchargement. Puis téléchargez le bon fichier correspondant à votre système d’exploitation. Sachez que si vous êtes sous Ubuntu, vous pouvez exécuter les commandes suivantes :

La première instruction permet d’installer VirtualBox, l’outil de référence Open Source permettant de créer des machines virtuelles.

sudo apt install virtualbox

Ensuite, nous allons installer Vagrant avec cette simple commande :

sudo apt install vagrant

Pour vérifier que l’installation s’est bien passée, vous connaissez le rituel de la version installée : il faut faire un :

vagrant --version

Voici le résultat que j’obtiens au moment où j’écris cet article :

Version de Vagrant
Version de Vagrant

Écriture d’un script Vagrant (VagrantFile) pour créer un Ubuntu

Je vous propose de rentrer dans le vif du sujet et de commencer avec un premier script léger.

Vagrant.configure('2') do |config|
  config.vm.box = 'ubuntu/trusty64'
  config.vm.network :private_network, ip: '10.10.10.10'
end

Commençons par la première ligne Vagrant.configure(‘2’). Cela signifie que l’on écrit notre script en V2 de Vagrant. Il n’y a actuellement que deux versions de scriptage. Sur la deuxième partie de la ligne on demande à Vagrant de faire ce qu’il y a écrit dans cette configuration.

La deuxième ligne signifie que l’on veut une machine virtuelle Ubuntu à 64 bits.

La troisième ligne indique que l’on souhaite une adresse IP fixe, qui nous permettra de réaliser plein choses par la suite (connexion ssh, serveur web, …). Vous pouvez changer l’adresse IP par ce que vous voulez, j’ai mis 10.10.10.10 pour que ça soit simple à retenir.

La dernière instruction end signifie la fin de la déclaration de la configuration.

Lancer une machine virtuelle avec un VagrantFile

On arrive enfin à la partie fun : lancer – avec une seule commande – un environnement basé sur un script. Avant tout, vous devez créer un fichier qui respecte bien ce nom : Vagrantfile.

Ensuite, copiez-collez le script que nous avons étudié ci-dessus puis enregistrez bien votre fichier. Il ne vous reste plus qu’à exécuter la commande suivante à l’endroit même où se trouve le script :

vagrant up

Une fois la commande exécutée, vous avez dû vous rendre compte qu’il vous faut une bonne connexion internet. En effet, Vagrant va télécharger l’ISO d’Ubuntu. Si ce n’est pas la première fois qu’il l’installe, rassurez-vous : il ira piocher dans son cache. Vous devriez maintenant voir la même console que moi :

Vagrant Up Ubuntu

Je vous propose de lire ce qu’il y a dans la console. C’est hyper intéressant car toutes les étapes sont détaillées. Vous avez le téléchargement/l’importation de l’ISO d’Ubuntu, le montage réseau, la préparation du ssh (sinon ça bloque pour faire des opérations ou des tests de commandes en ssh). Même le montage de dossier partagé est géré, c’est pas beau la vie ? Si vous faites un petit tour sur votre cher ami VirtualBox, vous vous rendrez compte qu’une nouvelle machine a fait son apparition.

Machine Vagrant dans VirtualBox

Comme vous pouvez le constater, il y a une machine paramétrée par Vagrant qui tourne. Elle a un nom bizarre (mais c’est paramétrable). Et si vous êtes encore plus curieux, vous pouvez cliquer sur le bouton Show pour voir dans quel état est votre machine. Vous obtiendrez ce résultat :

Console Ubuntu par Vagrant

Commandes classiques Vagrant

Pour accéder facilement à votre machine virtuelle avec ssh, vous devez simplement taper la commande suivante :

vagrant ssh

Voici ce que renvoie la commande : un mode console dans lequel on peut lancer tout ce que l’on souhaite à l’intérieur de notre machine.

Vagrant SSH

Pour arrêter la machine, vous pouvez lancer la commande suivante :

vagrant halt

Pour détruire la machine ? C’est plus brutal, avec la commande suivante :

vagrant destroy

Conclusion

J’espère que cet article vous aura permis de comprendre la base de Vagrant. Vous pourrez vous vous en servir en fonction de vos cas d’usages. Dans le prochain article, j’ai prévu de vous présenter Ansible. Ensuite je vous montrerai comment lier les deux. Par exemple pour monter un WordPress sur un serveur distant, ou directement avec une machine locale grâce à Vagrant. Il y a plein de sujets intéressants dans ce domaine et j’espère que ça vous inspire autant que moi.

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.