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

Vagrant : vue d'ensemble et vocabulaire (box, provider, provisioner, Vagrantfile)

Les notions indispensables pour suivre la formation Vagrant : à quoi sert Vagrant, le cycle de vi...

Partager un environnement Vagrant : ngrok et le plugin vagrant-share

Rendre une application qui tourne dans une machine Vagrant accessible à un collègue ou un client ...

Bonnes pratiques Vagrant : des environnements reproductibles et rapides

Bonnes pratiques Vagrant : Vagrantfile versionné, boxes épinglées, provisioning idempotent, multi...

Vagrant multi-machines : déployer un cluster Docker Swarm prêt à l'emploi

Construire avec un seul Vagrantfile un cluster Docker Swarm de trois nœuds (un manager, deux work...

Préparer la certification HashiCorp Certified: Terraform Associate

Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...

Ansible : les commandes Ad-Hoc

Exécuter des actions immédiates sur un parc de serveurs avec ansible : modules ping, command, she...

Traefik : les providers (Docker, Kubernetes, Nomad, Consul, fichiers, clés-valeurs)

Les providers alimentent la configuration dynamique de Traefik : découverte des services Docker, ...

Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques

Étendre Traefik avec des plugins (catalogue officiel, interpréteur Yaegi), puis protéger ses appl...

Grafana Provisioning : Automatisez la gestion de vos tableaux de bord et sources de données

Découvrez comment utiliser le provisioning de Grafana pour gérer vos configurations (dashboards, ...

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!