Aller au contenu principal

Présentation de Vagrant

Créez des environnements virtuels reproductibles et gérés efficacement avec Vagrant !

vagrant_logo.png

info

Vagrant est un outil open-source qui simplifie la création, la configuration et la gestion de machines virtuelles pour les développeurs et les équipes DevOps.

Il permet de déployer des environnements virtuels identiques sur différentes machines (par exemple installer et configurer automatiquement un serveur Web à distance).


Notions théoriques

Vagrant utilise un fichier de configuration appelé Vagrantfile, écrit en Ruby DSL (Domain-Specific Language), ce qui le rend flexible et puissant pour définir les paramètres de la VM.

  • Vagrant fonctionne avec des providers comme VirtualBox, VMware ou Hyper-V, pour créer les VMs.

  • Vagrant utilise des boxes (images pré-packagées) disponibles sur un catalogue en ligne, et se connecte via SSH pour provisionner la machine sans agent supplémentaire.

info

Vagrant facilite la standardisation des environnements de développement, en permettant une configuration déclarative et automatisée.


Exemple pratique

astuce
  • Nous avons vu que Vagrant permet de gérer des environnements virtuels reproductibles à partir d'un seul poste.
  • Pour s'entraîner avec des VMs, nous allons utiliser VirtualBox comme provider.
  • Et pour limiter la complexité, nous allons utiliser des boxes officielles comme Ubuntu.
  • En effet, l'utilisation de Vagrant à la place d'une installation manuelle de VMs va nous permettre de créer des environnements plus rapidement sans nécessité de configurer chaque détail à la main.

Donc pour commencer ce tutoriel, nous allons installer "Vagrant" sur Windows.

Voici les étapes pour installer "Vagrant" sur Windows :

  1. Téléchargez "Vagrant" depuis le site officiel et suivez les instructions d'installation.
  2. Une fois installé, ouvrez un terminal pour vérifier l'installation avec la commande vagrant --version et voir la version affichée.

Test de mémorisation/compréhension


Quel fichier de configuration est utilisé par Vagrant pour définir les paramètres de la machine virtuelle ?


Quel langage est utilisé pour écrire le Vagrantfile ?


Quel provider est le plus couramment utilisé avec Vagrant par défaut ?


Comment Vagrant provisionne-t-il les machines virtuelles ?



TP pour réfléchir et résoudre des problèmes

Vous allez maintenant créer votre première machine virtuelle Ubuntu avec Vagrant, qui servira de cible pour vos premiers pas en virtualisation.

  1. Ouvrez un terminal (cmd sous Windows).

Nous allons utiliser la commande vagrant init pour :

  • initialiser un projet avec un Vagrantfile
  • et télécharger une box Ubuntu (si vous ne l'avez pas déjà téléchargée) puis vagrant up pour créer et démarrer la VM.
  1. Saisissez la bonne commande dans le terminal pour initialiser le projet avec la box ubuntu/jammy64 et démarrez la VM.

  2. Une fois la VM démarrée, connectez-vous via SSH et explorez le système de fichiers, puis affichez le contenu du fichier /etc/hosts.

    Utilisez vagrant ssh pour vous connecter. Puisque nano et vi sont disponibles, vous pouvez les utiliser ou utiliser la commande cat.

Une solution