Folsleine hantlieding foar it ynstallearjen en brûken fan Vagrant op Hyper-V yn Windows 11

Lêste update: 08-04-2025

  • Vagrant stipet Hyper-V fan Windows 8.1 of heger en fasilitearret reprodusearbere omjouwings
  • It ynstallearjen en konfigurearjen fan Vagrant op Hyper-V fereasket spesifike netwurk- en foarsjenningsynstellingen.
  • Hyper-V lit bepaalde funksjes lykas statyske IP's net maklik ta, mar d'r binne komplemintêre oplossingen
  • It is oan te rieden om Hyper-V-kompatibele 'box'-ôfbyldings te brûken om bootflaters te foarkommen.
Ynstallearje Vagrant op Hyper-V-1

 

Om te begjinnen, Stel firtuele omjouwings fluch en oarderlik yn Windows yn It liket in komplekse missy. Lokkich, wy hawwe ark lykas Vagrant op Hyper-V om it mooglik te meitsjen. En hoewol it gebrûk mear ferbûn is mei VirtualBox, is it ek folslein kompatibel mei dizze virtualisaasjetechnology dy't al is yntegreare yn in protte ferzjes fan Windows.

Nettsjinsteande dat, ynstallaasje en konfiguraasje Swalker yn Hyper-V is it net sa maklik as it liket. Der is wichtige stappen en eigenaardichheden fan 'e Microsoft-virtualisaasjeprovider dy't jo moatte witte. Yn dit artikel sille wy jo alles leverje wat jo nedich binne om firtuele omjouwings te starten nei dizze formule sûnder problemen.

Wat is Vagrant en wêrom Hyper-V brûke?

Swalker It is in iepen boarne ark dat talit bouwe reprodusearbere en draachbere firtuele omjouwings fia ienfâldige konfiguraasjebestannen. It is ûntworpen foar ûntwikkelders, systeembehearders, of elkenien dy't konsekwinte omjouwings nedich hat oer kompjûters, mei stipe foar meardere bestjoeringssystemen.

Fan harren kant, Hyper-V is de native hypervisor fan Microsoft, opnommen yn Professional, Enterprise en Education ferzjes fan Windows 8.1 en letter. It biedt hege prestaasjes en stabiliteit, benammen nuttich as oare hypervisors lykas VirtualBox konflikt yn moderne Windows-omjouwings.

Ien fan 'e meast foarkommende redenen om te kiezen foar Hyper-V ynstee fan VirtualBox is dat guon produkten, lykas Docker-buroblêd of WSL2 (Windows Subsystem foar Linux), fereasket dat Hyper-V ynskeakele is. Dit soarget foar ynkompatibiliteiten mei VirtualBox, wêrtroch Hyper-V de ienige jildige oplossing is as wy tsjinsten net aktivearje en deaktivearje wolle.

Eksklusive ynhâld - Klik hjir  Hoe kinne jo apps op iPhone blokkearje

Foardielen fan it brûken fan Vagrant mei Hyper-V

Vagrant ynstallearje en Hyper-V ynskeakelje

Foardat jo Vagrant op Hyper-V begjinne te brûken, Soargje derfoar dat jo kompjûter Hyper-V ynskeakele hat. Wês foarsichtich, om't it normaal net standert ynskeakele is. Jo kinne dit manuell dwaan fanút de seksje "Windows-funksjes ynskeakelje" of mei it folgjende kommando yn PowerShell (as behearder):

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

Nei it útfieren fan dit kommando, in kompjûter opnij starte is nedich foar de feroarings om fan krêft te wurden.

Yn parallel moatte jo Download en ynstallearje Vagrant fan 'e offisjele webside. De ynstallearder befettet alles wat jo nedich binne om it kommando te brûken vagrant direkt fan elke terminal.

Ienris ynstalleare kinne jo ferifiearje dat alles goed is troch it folgjende yn 'e terminal út te fieren:

vagrant --version

Dit kommando moat bygelyks de ynstallearre ferzje weromjaan Vagrant 2.4.0.

Stap 1: Bereid in basisomjouwing

Vagrant is basearre op "doazen", dy't basisôfbyldings binne fan foarôf ynstalleare bestjoeringssystemen. Dizze wurde automatysk downloade fan 'e iepenbiere yndeks bekend as Vagrant Cloud. Om te begjinnen, moatte jo in map meitsje wêr't jo sille wurkje oan jo projekt. Bygelyks:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

Dit kommando sil in bestân generearje mei de namme Vagrantfile dat is wêr't alle konfiguraasje fan 'e firtuele masine sit. Binnen it moatte jo wat wichtige parameters oanpasse om Hyper-V te brûken.

Vagrant op Hyper-V

Hyper-V Provider konfiguraasje

Standert, Vagrant sil besykje VirtualBox te brûken as provider. Om Hyper-V te brûken, kinne jo dit elke kear opjaan troch te rinnen:

vagrant up --provider=hyperv

Of set Hyper-V as de standertprovider yn troch in omjouwingsfariabele yn te stellen:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Dizze stap kin dien wurde fan PowerShell of direkt yn jo systeemomjouwingsfariabelen.

Eksklusive ynhâld - Klik hjir  Messenger-trúkjes

Binnen de Vagrantfile, It is oan te rieden om de provider op te jaan mei spesifike ynstellings. In basisfoarbyld soe wêze:

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

Dizze parameters kinne jo tawize RAM, oantal kearnen, en de namme dy't de masine sil hawwe yn Hyper-V.

Netwurk en ferbining yn Hyper-V

Ien fan 'e swakke punten fan Hyper-V yn Vagrant is dat it it netwurk net automatysk konfigurearret. Om dizze reden moatte jo in vSwitch mei de hân selektearje mei eksterne ferbining dy't al makke is yn Hyper-V.

Om in privee netwurk te assosjearjen of in spesifike vSwitch te selektearjen, kinne jo gebrûk meitsje fan:

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

Hâld der rekken mei dat Hyper-V lit jo net direkt statyske IP's konfigurearje fan Vagrant., sadat se moatte wurde ynsteld mei skripts of troch it feroarjen fan de gast bestjoeringssysteem ynstellings.

 

hyper-v

Masine tagong: SSH en oare ark

Hoewol it liket dat SSH net kin wurde brûkt op Windows, Vagrant omfettet in ynboude SSH-kliïnt, sadat jo tagong krije kinne sûnder ekstra programma's te ynstallearjen.

Oanmelde mei:

vagrant ssh

Jo kinne ek PuTTY brûke, mar yn dat gefal sille jo nedich wêze Konvertearje de privee kaai generearre troch Vagrant yn PPK-formaat (mei PuTTYgen), om't it net direkt stipe wurdt. De kaai is te finen op:

.vagrant/machines/default/hyperv/private_key

Hjirmei kinne jo manuell ferbine fan elke SSH-kliïnt dy't jo leaver hawwe.

Foarsjenning mei skripts

Ien fan 'e grutste foardielen fan Vagrant is har stipe foar automatyske foarsjenning, tank oan skripts. Jo kinne shell-skripts starte foar werhelle ynstallaasjes:

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

Binnen it bestân bootstrap.sh Jo kinne ynstruksjes opnimme lykas:

apk update
apk add git

Dit sil rinne de earste kear dat de VM wurdt makke. As jo ​​​​it skript letter opnij wolle tapasse, kinne jo dwaan:

vagrant reload --provision

VM's foarsjen mei skripts

Wurkje mei meardere masines

Vagrant kinne jo mear as ien masine beheare út ien bestân. Dit is handich foar laboratoaren as serverklusters. In typyske opset foar in laboratoarium kin ferskate definysjes omfetsje:

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

Hjirmei kinne masines inoar werkenne troch nammen lykas node1.local o master.local tank oan it brûken fan mDNS.

Eksklusive ynhâld - Klik hjir  Is de Sygic-app fergees?

Tips foar prestaasjes en kompatibiliteit

Vagrant-prestaasjes op Hyper-V binne oer it algemien goed, mar it hinget ôf fan:

  • De krêft fan jo hostteam (RAM, CPU, skiif type).
  • De basisôfbylding brûkt (better om optimalisearre doazen te brûken).
  • It oantal masines dy't tagelyk rinne.
  • Differinsjaal skiifgebrûk en tinne foarsjenning.

In gewoane praktyk foar it skriuwen fan meardere omjouwings is it meitsjen fan in persoanlike doaze dat omfettet al jo kategoryen: ark, tsjinsten, rûtes, ensfh. Dit foarkomt dat jo yn elk gefal itselde ding opnij moatte ynstallearje.

It brûken fan Vagrant op Hyper-V op Windows is folslein leefber, hoewol mei guon beheiningen dy't mei lytse oanpassingen oplost wurde kinne. Hyper-V biedt robústiteit en kompatibiliteit mei moderne Microsoft-technologyen, wylst Vagrant de automatisearring en portabiliteit fan 'e ûntwikkelingsomjouwing fasilitearret.