Volledige gids vir die installering en gebruik van Vagrant op Hyper-V in Windows 11

Laaste opdatering: 08/04/2025

  • Vagrant ondersteun Hyper-V vanaf Windows 8.1 of hoër en fasiliteer reproduceerbare omgewings
  • Die installering en konfigurasie van Vagrant op Hyper-V vereis spesifieke netwerk- en voorsieninginstellings.
  • Hyper-V laat sekere kenmerke soos statiese IP's nie maklik toe nie, maar daar is aanvullende oplossings
  • Dit word aanbeveel om Hyper-V-versoenbare 'boks'-beelde te gebruik om selflaaifoute te vermy.
Installeer Vagrant op Hyper-V-1

 

Om mee te begin, Stel virtuele omgewings vinnig en ordelik in Windows op Dit lyk na 'n komplekse missie. Gelukkig het ons gereedskap soos Vagrant op Hyper-V om dit moontlik te maak. En alhoewel die gebruik daarvan meer met VirtualBox geassosieer word, is dit ook ten volle versoenbaar met hierdie virtualiseringstegnologie wat reeds in baie weergawes van Windows geïntegreer is.

Ten spyte daarvan, installeer en konfigureer Vagrant in Hyper-V is dit nie so maklik soos dit lyk nie. Daar is sleutelstappe en eienaardighede van die Microsoft-virtualiseringsverskaffer wat u moet ken. In hierdie artikel sal ons jou alles verskaf wat jy nodig het om virtuele omgewings te begin volgens hierdie formule sonder enige probleme.

Wat is Vagrant en hoekom gebruik Hyper-V?

Vagrant Dit is 'n herramienta de código abierto wat toelaat bou reproduceerbare en draagbare virtuele omgewings deur eenvoudige konfigurasielêers. Dit is ontwerp vir ontwikkelaars, stelseladministrateurs of enigiemand wat konsekwente omgewings oor rekenaars benodig, met ondersteuning vir verskeie bedryfstelsels.

Van hulle kant, Hyper-V is Microsoft se inheemse hypervisor, ingesluit in Professional-, Enterprise- en Education-weergawes van Windows 8.1 en later. Dit bied hoë werkverrigting en stabiliteit, veral nuttig wanneer ander hiperviseerders soos VirtualBox konflik in moderne Windows-omgewings.

Een van die mees algemene redes om te kies vir Hiper-V in plaas van VirtualBox is dat sommige produkte, soos Docker Desktop of WSL2 (Windows-substelsel vir Linux), vereis dat Hyper-V geaktiveer word. Dit skep onverenigbaarheid met VirtualBox, wat Hyper-V die enigste geldige oplossing maak as ons nie dienste wil aktiveer en deaktiveer nie.

Eksklusiewe inhoud - Klik hier  Hoe om my telling gratis na te gaan

Voordele van die gebruik van Vagrant met Hyper-V

Installeer Vagrant en aktiveer Hyper-V

Voordat jy Vagrant op Hyper-V begin gebruik, Maak seker dat jou rekenaar Hyper-V geaktiveer het. Wees versigtig, want dit is gewoonlik nie by verstek geaktiveer nie. U kan dit handmatig doen vanaf die "Skakel Windows-kenmerke aan"-afdeling of met die volgende opdrag in PowerShell (as administrateur):

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

Nadat u hierdie opdrag uitgevoer het, 'n rekenaar herbegin word vereis sodat die veranderinge in werking kan tree.

In parallel moet jy Laai Vagrant af en installeer dit vanaf die amptelike webwerf. Die installeerder bevat alles wat jy nodig het om die opdrag te kan gebruik vagrant direk vanaf enige terminale.

Sodra dit geïnstalleer is, kan jy verifieer dat alles korrek is deur die volgende in die terminaal uit te voer:

vagrant --version

Hierdie opdrag moet byvoorbeeld die geïnstalleerde weergawe terugstuur Vagrant 2.4.0.

Stap 1: Berei 'n basiese omgewing voor

Vagrant is gebaseer op "bokse", wat basisbeelde is van vooraf geïnstalleerde bedryfstelsels. Dit word outomaties afgelaai vanaf die publieke indeks bekend as Vagrant Cloud. Om te begin, moet jy 'n gids skep waar jy aan jou projek sal werk. Byvoorbeeld:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

Hierdie bevel sal 'n lêer genaamd Vagrantfile genereer dit is waar al die konfigurasie van die virtuele masjien is. Daarbinne sal jy 'n paar sleutelparameters moet aanpas om Hyper-V te gebruik.

Vagrant op Hyper-V

Hyper-V-verskafferkonfigurasie

Standaard, Vagrant sal probeer om VirtualBox as 'n verskaffer te gebruik. Om Hyper-V te gebruik, kan jy dit elke keer spesifiseer deur te hardloop:

vagrant up --provider=hyperv

Of stel Hyper-V as die verstekverskaffer deur 'n omgewingsveranderlike in te stel:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Hierdie stap kan gedoen word vanaf PowerShell of direk in jou stelsel omgewing veranderlikes.

Eksklusiewe inhoud - Klik hier  Wat is die sleutelbordkortpaaie vir Google Foto's?

Binne die Vagrantfile, Dit word aanbeveel om die verskaffer met spesifieke instellings te spesifiseer. 'n Basiese voorbeeld sou wees:

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

Hierdie parameters laat jou toe om toe te ken RAM, aantal kerns en die naam wat die masjien in Hyper-V sal hê.

Netwerk en konnektiwiteit in Hyper-V

Een van die swak punte van Hyper-V in Vagrant is dat dit nie outomaties die netwerk konfigureer nie. Om hierdie rede sal jy met die hand 'n vSwitch moet kies met eksterne konneksie wat reeds in Hyper-V geskep is.

Om 'n private netwerk te assosieer of 'n spesifieke vSwitch te kies, kan jy gebruik:

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

Hou in gedagte dat Hyper-V laat jou nie toe om statiese IP’s direk vanaf Vagrant op te stel nie., dus moet hulle gestel word met skrifte of deur die gasbedryfstelselinstellings te wysig.

 

hyper-v

Masjientoegang: SSH en ander gereedskap

Alhoewel dit mag lyk asof SSH nie op Windows gebruik kan word nie, Vagrant sluit 'n ingeboude SSH-kliënt in, sodat jy toegang daartoe kan kry sonder om bykomende programme te installeer.

Teken in met:

vagrant ssh

Jy kan ook PuTTY gebruik, maar in daardie geval sal jy nodig hê Skakel die private sleutel wat deur Vagrant gegenereer word om na PPK-formaat (met PuTTYgen), aangesien dit nie direk ondersteun word nie. Die sleutel is geleë by:

.vagrant/machines/default/hyperv/private_key

Dit sal jou toelaat om handmatig te koppel vanaf enige SSH-kliënt wat jy verkies.

Voorsiening met skrifte

Een van die grootste voordele van Vagrant is sy ondersteuning vir outomatiese voorsiening, danksy skrifte. U kan dopskrifte vir herhaalbare installasies begin:

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

Dentro del archivo bootstrap.sh Jy kan instruksies insluit soos:

apk update
apk add git

Dit sal loop die eerste keer dat die VM geskep word. As jy die skrif later weer wil toepas, kan jy doen:

vagrant reload --provision

Voorsiening van VM'e met skrifte

Werk met verskeie masjiene

Vagrant laat jou toe om meer as een masjien vanaf 'n enkele lêer te bestuur. Dit is nuttig vir laboratoriums of bedienerklusters. 'n Tipiese opstelling vir 'n laboratorium kan verskeie definisies insluit:

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

Dit laat masjiene toe om mekaar te herken deur name soos node1.plaaslik o meester.plaaslik danksy die gebruik van mDNS.

Eksklusiewe inhoud - Klik hier  Hoe voeg ek 'n uitbreiding by Microsoft Edge?

Wenke vir prestasie en versoenbaarheid

Swerfprestasie op Hyper-V is oor die algemeen goed, maar dit hang af van:

  • Die krag van jou gasheerspan (RAM, SVE, tipe skyf).
  • Die basisbeeld wat gebruik is (beter om geoptimaliseerde bokse te gebruik).
  • Die aantal masjiene wat op dieselfde tyd loop.
  • Differensiële skyfgebruik en dun voorsiening.

'n Algemene praktyk vir die skryf van verskeie omgewings is om 'n persoonlike boks wat reeds al jou kategorieë insluit: gereedskap, dienste, roetes, ens. Dit voorkom dat jy dieselfde ding in elke geval moet herinstalleer.

Die gebruik van Vagrant op Hyper-V op Windows is heeltemal lewensvatbaar, hoewel met 'n paar beperkings wat met klein aanpassings opgelos kan word. Hyper-V bied robuustheid en verenigbaarheid met moderne Microsoft-tegnologieë, terwyl Vagrant die outomatisering en oordraagbaarheid van die ontwikkelingsomgewing vergemaklik.