RousselTMLEARNING

Article · Vagrant: From Discovery to Expertise

Overview: providers and provisioners use cases

This article is available in French.

1. Le système de plugins #

Vagrant est extensible.

Principe #

Vagrant fournit un cœur (lecture du Vagrantfile, gestion des boxes, cycle de vie) et délègue le reste à des composants : les providers (VirtualBox, Hyper-V, Docker sont intégrés) et les provisioners (shell, file, Ansible, Docker…). Les plugins, écrits en Ruby et distribués comme des gems, ajoutent de nouveaux composants.

Points d'extension de Vagrant
Un même plugin peut ajouter plusieurs composants.

2. Gérer les plugins #

Installer, mettre à jour, déclarer par projet.

Commandes #

vagrant plugin list
vagrant plugin install vagrant-libvirt
vagrant plugin update
vagrant plugin uninstall vagrant-vbguest
vagrant plugin expunge --reinstall      # réparer après une mise à jour de Vagrant

Déclarer les plugins requis par le projet #

Vagrant.configure("2") do |config|
  config.vagrant.plugins = ["vagrant-hostmanager", "vagrant-disksize"]   # installés au besoin à vagrant up
  config.hostmanager.enabled = true
  config.hostmanager.manage_host = true
end
Bonne Pratique : Déclarez les plugins dans le Vagrantfile : un nouveau membre de l'équipe obtient le même environnement sans installation manuelle.

3. Les plugins utiles #

Une sélection.

Sélection #

PluginTypeUsage
vagrant-libvirtProviderMachines KVM sous Linux, plus performantes que VirtualBox
vagrant-hostmanagerCapacitéMet à jour /etc/hosts de l'hôte et des machines (noms au lieu d'IP)
vagrant-disksizeCapacitéAgrandit le disque d'une box VirtualBox
vagrant-reloadProvisionerRedémarre la machine au milieu du provisioning (après une mise à jour du noyau)
vagrant-scpCommandeCopie de fichiers entre hôte et machine
vagrant-shareCommandePartage d'un environnement à distance (voir l'article suivant)
Erreur Courante : Les plugins tiers ne suivent pas toujours les nouvelles versions de Vagrant. Fixez la version de Vagrant de l'équipe et testez les mises à jour avant de les généraliser.

📄 Les plugins Vagrant : étendre providers, provisioners et commandes →

My progress

  • ⏱ Estimated time : ≈ 4 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Grafana Alloy: Syntax and Configuration (Alloy Language: River)

As part of a Grafana training or observability training, master the declarative syntax of Grafana...

Dynatrace Credential Vault : Sécuriser et gérer vos secrets

Découvrez comment l'application Credential Vault de Dynatrace permet de gérer de manière sécurisé...

L'API de Traefik : inspecter la configuration et sécuriser le tableau de bord

Utiliser l'API REST de Traefik pour inspecter routeurs, services, middlewares et entrypoints, l'e...

Traefik : vue d'ensemble, architecture et premier déploiement

Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...

Ansible : l'inventaire (statique, dynamique, groupes et variables)

Comprendre et maîtriser l'inventaire Ansible : fichiers INI et YAML, groupes, variables d'hôte et...

Ansible : structurer son code avec les rôles

Créer, organiser et réutiliser des rôles Ansible : arborescence, defaults, tasks, handlers, templ...

Ansible : générer des fichiers dynamiques avec Jinja2 et les facts

Créer des fichiers de configuration dynamiques : templates Jinja2, variables, facts, filtres, bou...

Ansible : gérer la sécurité (Vault, SSH, privilèges et secrets)

Sécuriser Ansible : Ansible Vault, authentification SSH par clés, become et sudo, no_log, durciss...

Ansible : gérer son infrastructure avec des playbooks (Infrastructure as Code)

Écrire des playbooks de production : structure d'un projet, plays, handlers, tags, strategy seria...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!