Guide complet pour installer et utiliser Vagrant sur Hyper-V sous Windows 11

Dernière mise à jour : 08/04/2025

  • Vagrant prend en charge Hyper-V à partir de Windows 8.1 ou supérieur et facilite les environnements reproductibles
  • L'installation et la configuration de Vagrant sur Hyper-V nécessitent des paramètres de mise en réseau et de provisionnement spécifiques.
  • Hyper-V ne permet pas facilement certaines fonctionnalités comme les IP statiques, mais il existe des solutions complémentaires
  • Il est recommandé d'utiliser des images « box » compatibles Hyper-V pour éviter les erreurs de démarrage.
Installer Vagrant sur Hyper-V-1

 

Pour commencer, Configurez des environnements virtuels rapidement et de manière ordonnée sous Windows Cela semble être une mission complexe. Heureusement, nous disposons d’outils comme Vagrant sur Hyper-V pour le rendre possible. Et bien que son utilisation soit davantage associée à VirtualBox, il est également entièrement compatible avec cette technologie de virtualisation déjà intégrée dans de nombreuses versions de Windows.

Malgré cela, l’installation et la configuration Vagrant dans Hyper-V, ce n'est pas aussi simple qu'il y paraît. Il y a étapes clés et les particularités du fournisseur de virtualisation Microsoft que vous devez connaître. Dans cet article, nous vous fournirons tout ce dont vous avez besoin pour lancer des environnements virtuels en suivant cette formule sans aucun problème.

Qu'est-ce que Vagrant et pourquoi utiliser Hyper-V ?

Vagrant C'est un herramienta de código abierto qui permet créer des environnements virtuels reproductibles et portables grâce à des fichiers de configuration simples. Il est conçu pour les développeurs, les administrateurs système ou toute personne ayant besoin d'environnements cohérents sur plusieurs ordinateurs, avec prise en charge de plusieurs systèmes d'exploitation.

De leur côté, Hyper-V est l'hyperviseur natif de Microsoft, inclus dans les versions Professionnel, Entreprise et Éducation de Windows 8.1 et versions ultérieures. Il offre des performances et une stabilité élevées, particulièrement utiles lorsque d'autres hyperviseurs comme VirtualBox entrent en conflit dans les environnements Windows modernes.

L’une des raisons les plus courantes pour lesquelles on opte pour Hyper-V au lieu de VirtualBox, c'est que certains produits, tels que Docker Desktop ou WSL2 (sous-système Windows pour Linux), nécessitent l'activation d'Hyper-V. Cela crée des incompatibilités avec VirtualBox, faisant d'Hyper-V la seule solution valable si nous ne voulons pas activer et désactiver des services.

Contenu exclusif - Cliquez ici  Comment ajouter des tâches aux favoris dans Toloka ?

Avantages de l'utilisation de Vagrant avec Hyper-V

Installation de Vagrant et activation d'Hyper-V

Avant de commencer à utiliser Vagrant sur Hyper-V, Assurez-vous que Hyper-V est activé sur votre ordinateur. Soyez prudent, car il n'est généralement pas activé par défaut. Vous pouvez le faire manuellement à partir de la section « Activer les fonctionnalités Windows » ou avec la commande suivante dans PowerShell (en tant qu'administrateur) :

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Après avoir exécuté cette commande, un redémarrage de l'ordinateur est nécessaire pour que les changements prennent effet.

En parallèle, vous devez Téléchargez et installez Vagrant depuis le site officiel. Le programme d'installation comprend tout ce dont vous avez besoin pour pouvoir utiliser la commande vagrant directement depuis n'importe quel terminal.

Une fois installé, vous pouvez vérifier que tout est correct en exécutant ce qui suit dans le terminal :

vagrant --version

Cette commande doit renvoyer la version installée, par exemple Vagrant 2.4.0.

Étape 1 : préparer un environnement de base

Vagrant est basé sur des « boîtes », qui sont des images de base de systèmes d'exploitation préinstallés. Ceux-ci sont automatiquement téléchargés à partir de l'index public connu sous le nom de Vagrant Cloud. Pour commencer, vous devez créer un dossier dans lequel vous travaillerez sur votre projet. Par exemple:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

Cette commande générera un fichier appelé Vagrantfile c'est là que réside toute la configuration de la machine virtuelle. Vous devrez y ajuster certains paramètres clés pour utiliser Hyper-V.

Vagrant sur Hyper-V

Configuration du fournisseur Hyper-V

Par défaut, Vagrant va essayer d'utiliser VirtualBox comme fournisseur. Pour utiliser Hyper-V, vous pouvez le spécifier à chaque fois en exécutant :

vagrant up --provider=hyperv

Ou définissez Hyper-V comme fournisseur par défaut en définissant une variable d'environnement :

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Cette étape peut être effectuée à partir de PowerShell ou directement dans les variables d’environnement de votre système.

Contenu exclusif - Cliquez ici  Comment retrouver le contenu téléchargé depuis Spotify ?

À l'intérieur du Vagrantfile, Il est recommandé de spécifier le fournisseur avec des paramètres spécifiques. Un exemple simple serait :

Vagrant.configure("2") do |config|
  config.vm.box = "generic/alpine36"
  config.vm.provider "hyperv" do |h|
    h.vmname = "mi_vm_hyperv"
    h.memory = 2048
    h.cpus = 2
  end
end

Ces paramètres vous permettent d'attribuer RAM, nombre de cœurs et le nom que la machine portera dans Hyper-V.

Mise en réseau et connectivité dans Hyper-V

L’un des points faibles d’Hyper-V dans Vagrant est qu’il ne configure pas automatiquement le réseau. Pour cette raison, vous devrez sélectionner manuellement un vSwitch avec une connectivité externe déjà créée dans Hyper-V.

Pour associer un réseau privé ou sélectionner un vSwitch spécifique, vous pouvez utiliser :

config.vm.network "private_network", bridge: "NombreDelvSwitch"

Gardez à l'esprit que Hyper-V ne vous permet pas de configurer directement des IP statiques depuis Vagrant., ils doivent donc être définis à l'aide de scripts ou en modifiant les paramètres du système d'exploitation invité.

 

hyper-v

Accès machine : SSH et autres outils

Bien qu'il puisse sembler que SSH ne puisse pas être utilisé sous Windows, Vagrant inclut un client SSH intégré, afin que vous puissiez y accéder sans avoir à installer de programmes supplémentaires.

Connectez-vous avec :

vagrant ssh

Vous pouvez également utiliser PuTTY, mais dans ce cas, vous aurez besoin Convertir la clé privée générée par Vagrant au format PPK (avec PuTTYgen), car il n'est pas directement pris en charge. La clé se trouve à :

.vagrant/machines/default/hyperv/private_key

Cela vous permettra de vous connecter manuellement à partir de n'importe quel client SSH de votre choix.

Provisionnement avec des scripts

L’un des plus grands avantages de Vagrant est sa prise en charge de provisionnement automatique, grâce aux scripts. Vous pouvez lancer des scripts shell pour des installations répétables :

config.vm.provision "shell", path: "bootstrap.sh"

Dentro del archivo bootstrap.sh Vous pouvez inclure des instructions telles que :

apk update
apk add git

Cela fonctionnera la première fois que la VM est créée. Si vous souhaitez réappliquer le script plus tard, vous pouvez faire :

vagrant reload --provision

Provisionnement de machines virtuelles avec des scripts

Travailler avec plusieurs machines

Vagrant vous permet de gérer plusieurs machines à partir d'un seul fichier. Ceci est utile pour les laboratoires ou les clusters de serveurs. Une configuration typique pour un laboratoire peut inclure plusieurs définitions :

Vagrant.configure("2") do |config|
  config.vm.define "master" do |master|
    master.vm.box = "bento/ubuntu-20.04"
    master.vm.hostname = "master"
    master.vm.network :private_network, ip: "10.0.0.10"
  end

  (1..2).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = "bento/ubuntu-20.04"
      node.vm.hostname = "node#{i}"
      node.vm.network :private_network, ip: "10.0.0.#{i + 10}"
    end
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y avahi-daemon libnss-mdns
  SHELL
end

Cela permet aux machines de se reconnaître entre elles par des noms tels que nœud1.local o maître.local grâce à l'utilisation de mDNS.

Contenu exclusif - Cliquez ici  ¿Cómo crear una firma para tu correo en Evolution?

Conseils sur les performances et la compatibilité

Les performances de Vagrant sur Hyper-V sont généralement bonnes, mais cela dépend de :

  • La puissance de votre équipe hôte (RAM, CPU, type de disque).
  • L'image de base utilisée (il est préférable d'utiliser des boîtes optimisées).
  • Le nombre de machines fonctionnant en même temps.
  • Utilisation différentielle du disque et provisionnement léger.

Une pratique courante pour la création de scripts pour plusieurs environnements consiste à créer un boîte personnalisée qui inclut déjà toutes vos catégories : outils, services, itinéraires, etc. Cela évite de devoir réinstaller la même chose à chaque instance.

L'utilisation de Vagrant sur Hyper-V sous Windows est totalement viable, bien qu'avec quelques limitations qui peuvent être résolues avec de petits ajustements. Hyper-V offre robustesse et compatibilité avec les technologies Microsoft modernes, tandis que Vagrant facilite l'automatisation et la portabilité de l'environnement de développement.