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.
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 VagrantDé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
endBonne 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 #
| Plugin | Type | Usage |
|---|---|---|
vagrant-libvirt | Provider | Machines KVM sous Linux, plus performantes que VirtualBox |
vagrant-hostmanager | Capacité | Met à jour /etc/hosts de l'hôte et des machines (noms au lieu d'IP) |
vagrant-disksize | Capacité | Agrandit le disque d'une box VirtualBox |
vagrant-reload | Provisioner | Redémarre la machine au milieu du provisioning (après une mise à jour du noyau) |
vagrant-scp | Commande | Copie de fichiers entre hôte et machine |
vagrant-share | Commande | Partage 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.
My progress
Sign in to track your progress and take notes. Sign in
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, ...