Introduction
Installation de vagrant
Utilisation
Devops et Cloud Computing
Vagrant: un gestionaire de cloud privé
Victor OYETOLA & Eric ATTOU
Université d’Abomey-Calavi, chef Service de la Promotion des TICs
February 8, 2026
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 1 / 25
Introduction
Installation de vagrant
Utilisation
1 Introduction
2 Installation de vagrant
3 Utilisation
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 2 / 25
Introduction
Installation de vagrant
Utilisation
C’est quoi Vagrant?
Vagrant est un outil qui simplifie le flux de travail et réduit la charge de
travail nécessaire pour exécuter et gérer des machines virtuelles (VM)
sur votre ordinateur. Il offre également les fonctionnalités suivantes :
Fournit une interface en ligne de commande très simple pour
gérer les machines virtuelles.
Prend en charge toutes les principales solutions de virtualisation :
VirtualBox, VMware et Hyper-V, Proxmox
Prend en charge les outils: Ansible, Chef, Puppet et Salt pour la
gestion et l’installation de logiciels supplémentaires
Facilite les procédures de distribution et de partage des
environnements virtuels.
Permet de configurer les resources: RAM, CPUs, connexions
réseau, dossiers partagés
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 3 / 25
Introduction
Installation de vagrant
Utilisation
C’est quoi Vagrant?
Vagrant est opensource sour la license MIT
développé depuis 2015 par Michel Hashimoto
avec la contribution de près de 500 programmeurs
Vagrant est l’un des plus prestigieux outils de virtualisation
Il utilise un simple code en Ruby (portable d’une machine à
l’autre)
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 4 / 25
Introduction
Installation de vagrant
Utilisation
Architecture Vagrant utilisant les providers
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 5 / 25
Introduction
Installation de vagrant
Utilisation
Inconvenient de vagrant
Le premier désavantage est une question de performances
Les machines des développeurs doivent avoir des performances
encore supérieures
Long temps d’accès pour échanger des fichiers entre VM et hôte
NFS est une solution
ce partage de fichier est à éviter et provoque un travail
supplémentaire aux développeurs
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 6 / 25
Introduction
Installation de vagrant
Utilisation
Prérequis pour vagrant
git sera utilisé pour cloner quelques logiciels
virtualbox, vmware ou hyper V (l’un ou plusieurs d’entre eux
comme hyperviser)
vagrant lui-même
Téléchargez ces outils selon votre OS sur leur site respectif
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 7 / 25
Introduction
Installation de vagrant
Utilisation
Vérification de l’installation et configuration
vagrant - -version
vagrant -v
le dossier par défaut est .vagrant.d dans le home de l’utilisateur
la box vagrant peut être partagée entre plusieurs utilisateurs sur
une même machine
ceci permet de redéfinir le home de vagrant comme suit:
$ export VAGRANT_HOME=/dossier/partage, Il existe une
alternative sous Windows
NB: c’est assez courant de voir une box vagrant consommer 1 - 2 GB
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 8 / 25
Introduction
Installation de vagrant
Utilisation
Documentation fournie
vagrant
vagrant -h
vagrant - -help
vagrant box add
vagrant box list
vagrant box remove
ces sous-commandes aussi disposent d’une aide
vagrant box -h
vagrant box - -help
vagrant box add -h
vagrant box add - -help
Un manuel complet en anglais existe à
[Link]
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 9 / 25
Introduction
Installation de vagrant
Utilisation
Lancer une application sous vagrant
mkdir vagrant-exemples
cd vagrant-exemples
git clone
[Link]
cd vagrant-ansible-opensearch
vagrant up
visiter [Link]
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 10 / 25
Introduction
Installation de vagrant
Utilisation
Quelques commandes utiles
vagrant status affiche le status des VM
vagrant global-status: affiche l’état global detous les VMs
vagrant halt arrêter la machine virtuelle
vagrant up démarre les VM configurées dans Vagrantfile
vagrant suspend met en veille la VM
vagrant destroy : détruit toutes les vms
vagrant reload: recharge la VM
vagrant init: Initialisation et création du fichier Vagrantfile
vagrant ssh: faire une connexion ssh sur la vm
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 11 / 25
Introduction
Installation de vagrant
Utilisation
Diagramme d’état
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 12 / 25
Introduction
Installation de vagrant
Utilisation
vagrant up vagrant destroy
vagrant up crée une box qui se vagrant destroy arrête la VM et
retrouve dans le dossier libère l’espace dans le dossier
.vagrant.d de l’utilisateur, il .VirtualBox VMs Par contre
démarre la machine virtuelle sur l’espace occupé par la box dans
le provider et crée en plus dans le le dossier .vagrant.d ne sera pas
dossier .VirtualBox VMs et le libéré tant que la box n’est pas
disque virtuelle de la VM supprimé
vagrant box remove ID
vagrant box remove va libérer l’espace occupé par la box
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 13 / 25
Introduction
Installation de vagrant
Utilisation
vagrant état de l’espace disque à chaque commande
l’espace occupé par les VM à chaque état
Commande Template de la VM Instance de la VM esapce total
.vagrant.d/box .VirtualBox VMs
vagrant Template préservé Instance 700Mo
destroy -700Mo supprimée
vagrant Template préservé Instance préservée 2.8Go
halt -700Mo -2.1Go
vagrant Template préservé Instance préservée 2.8Go
suspend -700Mo -2.1Go
vagrant Template supprimé instance supprimé 0
box remove
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 14 / 25
Introduction
Installation de vagrant
Utilisation
Vagrantfile
c’est le fichier que la commande vagrant up lit
Créons un dossier et initialisons un vagrant avec la commande
suivante
vagrant init ubuntu/jammy64
un fichier nommé Vagrantfile écrit en ruby est automatiquement
créé avec le contenu suivant:
[Link](2) do |config|
[Link] = "ubuntu/jammy64"
end
vagrant init permet donc de créer le fichier de configuration qui est
Vagrantfile
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 15 / 25
Introduction
Installation de vagrant
Utilisation
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 16 / 25
Introduction
Installation de vagrant
Utilisation
Vagrant file
[Link]("2") do |config|
Définit la version de configuration de Vagrant utilisée ("2"
correspond à la version la plus récente et la plus couramment
utilisée).
Le bloc principal config contient toutes les instructions pour la
configuration des machines virtuelles.
[Link] = "generic/rocky8"
Utilise une box générique pour Rocky Linux 8, une distribution
Linux similaire à CentOS/RHEL
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 17 / 25
Introduction
Installation de vagrant
Utilisation
Vagrant file
[Link] "virtualbox" do |v|
[Link] = 3072
[Link] = 2
end
memory : Alloue 3 Go de RAM à chaque machine.
cpus : Attribue 2 processeurs virtuels.
Ces réglages s’appliquent à toutes les machines définies dans ce
fichier.
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 18 / 25
Introduction
Installation de vagrant
Utilisation
configuration commune pour m1, m2, i1, i2, dashboards1
[Link] "m1" do |machine|
[Link] :shell, inline: "sudo systemctl stop firewalld"
[Link] "private_network", ip: "[Link]"
[Link] = "m1"
end
[Link]: Exécute un script inline lors de la création de la machine.
[Link] : Attribue une adresse IP statique pour chaque machine sur un réseau privé.
Des configurations similaires s’appliquent aux autres machines :
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 19 / 25
Introduction
Installation de vagrant
Utilisation
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 20 / 25
Introduction
Installation de vagrant
Utilisation
Lancer une box
Pour lancer la box nouvellement créée lancer la commande:
vagrant up
Pour arrêter une box
Pour arrêter la box nouvellement créée lancer la commande:
vagrant destroy
Pour supprimer définitivement la box
vagrant box remove ubuntu/jammy64
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 21 / 25
Introduction
Installation de vagrant
Utilisation
Interagir avec la VM
Pour faire un ssh sur la machne
vagrant ssh
Partager un dosier entre hôte et invité
[Link].synced_folder "/repertoire/hote", "/repertoire/invite"
Rediriger un port de l’hôte vers un port de l’invité
[Link] :forwarded_port, guest: 80, host: 8800,
host_ip: "[Link]"
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 22 / 25
Introduction
Installation de vagrant
Utilisation
Provisionning
Vagrant dispose de support interne pour les outils de configuration
comme
puppet
ansible
chef
et aussi des script-shell
On parle de "Provisionning" lorsque des configurations sont faites
automatiquement à l’intérieur de la machine hôte pendant sa création
pour parfaire une application. Ceci peut concerner l’installation et le
démarrage d’un service: web, mail etc.
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 23 / 25
Introduction
Installation de vagrant
Utilisation
Provisionning
On distingue cette liste de provisioners:
puppet
ansible
chef
script-shell
File
docker
CFEngine
salt
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 24 / 25
Introduction
Installation de vagrant
Utilisation
Configurer le Provisionning
On distingue cette liste de provisioners:
puppet
ansible
chef
script-shell
File
docker
CFEngine
salt
Victor OYETOLA & Eric ATTOU Devops et Cloud Computing 25 / 25