Rêbernameya bêkêmasî ya sazkirin û karanîna Vagrant li ser Hyper-V di Windows 11 de

Nûvekirina Dawîn: 08/04/2025

  • Vagrant Hyper-V ji Windows 8.1 an mezintir piştgirî dike û hawîrdorên ji nû ve hilberandin hêsan dike
  • Sazkirin û mîhengkirina Vagrant li ser Hyper-V mîhengên torê û peydakirina taybetî hewce dike.
  • Hyper-V rê nade hin taybetmendiyên mîna IP-yên statîk bi hêsanî, lê çareseriyên temamker hene
  • Tête pêşniyar kirin ku hûn wêneyên 'box' yên lihevhatî yên Hyper-V bikar bînin da ku ji xeletiyên bootê dûr nekevin.
Vagrant li ser Hyper-V-1 saz bikin

 

Beyan, Li Windows-ê zû û bi rêkûpêk hawîrdorên virtual saz bikin Ew wekî mîsyonek tevlihev xuya dike. Xwezî, amûrên me hene Vagrant li ser Hyper-V da ku ew gengaz bibe. Û her çend karanîna wê bêtir bi VirtualBox-ê ve girêdayî ye, ew di heman demê de bi vê teknolojiya virtualbûnê ya ku berê di gelek guhertoyên Windows-ê de yekbûyî ye jî bi tevahî lihevhatî ye.

Tevî wê, sazkirin û mîheng kirin vagrant di Hyper-V de ew qas ku xuya dike ne hêsan e. Heye gavên sereke û taybetmendiyên pêşkêşvanê virtualîzasyona Microsoft-ê ku divê hûn zanibin. Di vê gotarê de, em ê her tiştê ku hûn hewce ne ji bo destpêkirina hawîrdorên virtual li pey vê formulê bêyî pirsgirêk peyda bikin.

Vagrant çi ye û çima Hyper-V bikar tîne?

vagrant Ew e amûrê çavkaniya vekirî ku destûrê dide bi navgîniya pelên vesazkirinê yên hêsan de hawîrdorên virtual yên ji nû ve hilberandin û veguheztin ava bikin. Ew ji bo pêşdebiran, rêveberên pergalê, an her kesê ku hewceyê hawîrdorên domdar ên li seranserê komputeran e, bi piştgirî ji bo pergalên xebitandinê yên pirjimar hatî çêkirin.

Ji aliyê din ve Hyper-V hîpervisorê xwemalî yê Microsoft-ê ye, di guhertoyên Pîşeyî, Enterprise, û Perwerdehiyê yên Windows 8.1 û paşê de tê de hene. Ew performansa bilind û aramiyê pêşkêşî dike, nemaze dema ku hîpervisorên din ên mîna VirtualBox di hawîrdorên Windows-ê yên nûjen de nakokî dikin.

Yek ji sedemên herî gelemperî yên bijartinê ye Hyper-V li şûna VirtualBox ew e ku hin hilber, wek Sermaseya Docker an WSL2 (Windows Subsystem ji bo Linux), pêdivî ye ku Hyper-V were çalak kirin. Ev yek bi VirtualBox re nelihevhatî çêdike, heke em nexwazin karûbaran çalak bikin û neçalak bikin Hyper-V dike çareseriya yekane ya derbasdar.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa kodek Google Play-ê xilas dike

Avantajên karanîna Vagrant bi Hyper-V

Sazkirina Vagrant û Çalakkirina Hyper-V

Berî ku hûn dest bi karanîna Vagrant li ser Hyper-V bikin, Bawer bikin ku komputera we Hyper-V çalak e. Hişyar bin, ji ber ku ew bi gelemperî ji hêla xwerû ve nayê çalak kirin. Hûn dikarin vê yekê bi destan ji beşa "Taybetmendiyên Windows-ê vekin" an jî bi fermana jêrîn li PowerShell (wek rêveber) bikin:

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

Piştî pêkanîna vê fermanê, ji nû ve destpêkirina kompîturê pêwîst e ji bo pêkanîna guhertinan.

Di paralel de, divê hûn Vagrant ji malpera fermî dakêşin û saz bikin. Sazker her tiştê ku hûn hewce ne ku hûn fermanê bikar bînin dihewîne vagrant rasterast ji her termînalê.

Piştî sazkirinê, hûn dikarin bi xebitandina jêrîn di termînalê de rast bikin ku her tişt rast e:

vagrant --version

Ji bo nimûne, divê ev ferman guhertoya sazkirî vegerîne Vagrant 2.4.0.

Gav 1: Jîngehek bingehîn amade bikin

Vagrant li ser bingeha "qutiyan" e, ku wêneyên bingehîn ên pergalên xebitandinê yên pêş-sazkirî ne. Vana bixweber ji navnîşa gelemperî ku wekî Vagrant Cloud tê zanîn têne dakêşandin. Ji bo ku hûn dest pê bikin, hûn hewce ne ku peldankek ku hûn ê li ser projeya xwe bixebitin biafirînin. Bo nimûne:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

Ev ferman dê pelek bi navê Vagrantfile çêbike ku ew e ku hemî veavakirina makîneya virtual lê dimîne. Di hundurê wê de hûn ê hewce bikin ku hin pîvanên sereke bicîh bikin da ku Hyper-V bikar bînin.

Vagrant li ser Hyper-V

Veavakirina Pêşkêşkara Hyper-V

Wekî standard, Vagrant dê hewl bide ku VirtualBox wekî pêşkêşker bikar bîne. Ji bo ku Hyper-V bikar bînin, hûn dikarin vê yekê her carê bi xebitandinê diyar bikin:

vagrant up --provider=hyperv

An jî, bi danîna guhêrbarek jîngehê Hyper-V wekî pêşkêşkarê xwerû destnîşan bikin:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Ev gav dikare ji PowerShell an rasterast di guhêrbarên hawîrdora pergala we de were kirin.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa nûvekirinên serîlêdana Microsoft Office-ya dûr saz dike?

Di hundurê pelê Vagrant de, Tête pêşniyar kirin ku pêşkêşker bi mîhengên taybetî diyar bikin. Mînakek bingehîn dê bibe:

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

Van parameteran dihêle ku hûn destnîşan bikin RAM, hejmara core, û navê makîneyê dê di Hyper-V de hebe.

Torgilok û girêdana di Hyper-V de

Yek ji xalên qels ên Hyper-V li Vagrant ev e ku ew bixweber torê mîheng nake. Ji ber vê yekê, hûn ê hewce bikin ku bi desta vSwitchek bi pêwendiya derveyî ya ku jixwe di Hyper-V de hatî çêkirin hilbijêrin.

Ji bo girêdana torgilokek taybet an jî vSwitchek taybetî hilbijêrin, hûn dikarin bikar bînin:

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

Ji kerema xwe bala xwe bidin Hyper-V nahêle ku hûn rasterast IP-yên statîk ên ji Vagrant mîheng bikin., ji ber vê yekê divê ew bi karanîna skrîptan an bi guheztina mîhengên pergala xebitandinê ya mêvan werin danîn.

 

hyper v

Gihîştina makîneyê: SSH û amûrên din

Her çend xuya dibe ku SSH li ser Windows-ê nayê bikar anîn, Vagrant xerîdarek SSH-ya çêkirî vedihewîne, da ku hûn bêyî ku hûn bernameyên din saz bikin bigihîjin wê.

Têkeve bi:

vagrant ssh

Hûn dikarin PuTTY jî bikar bînin, lê di wê rewşê de hûn ê hewce bibin Mifteya taybet a ku ji hêla Vagrant ve hatî çêkirin veguherînin forma PPK (bi PuTTYgen re), ji ber ku ew rasterast nayê piştgirî kirin. Mift li vê derê ye:

.vagrant/machines/default/hyperv/private_key

Ev ê dihêle hûn bi destan ji her muwekîlê SSH-ê ku hûn tercîh dikin ve girêbidin.

Dabînkirina bi senaryoyan

Yek ji mezintirîn feydeyên Vagrant piştgirîya wê ye dabînkirina otomatîkî, bi saya senaryoyan. Hûn dikarin ji bo sazkirinên dubarekirî nivîsarên şêlê bidin destpêkirin:

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

Di hundurê pelê de bootstrap.sh Hûn dikarin rêwerzên wekî:

apk update
apk add git

Ev dê bimeşe cara yekem VM tê afirandin. Heke hûn dixwazin paşê nivîsarê ji nû ve bicîh bikin, hûn dikarin bikin:

vagrant reload --provision

Dabînkirina VM-yan bi skrîptan

Bi gelek makîneyan re dixebitin

Vagrant dihêle hûn ji yek pelê bêtir ji yek makîneyê îdare bikin. Ev ji bo laboratîfan an komên serverê bikêr e. Sazkirinek tîpîk ji bo laboratuarek dikare çend pênaseyan pêk bîne:

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

Ev dihêle ku makîneyên hev bi navên wek node1.herêmî o serdest.herêmî spas ji bo karanîna mDNS.

Naveroka taybetî - Li vir bikirtînin  How to play Ruzzle bi zimanên din

Serişteyên Performansa û Hevgirtinê

Performansa vagrant li ser Hyper-V bi gelemperî baş e, lê ew bi vê ve girêdayî ye:

  • Hêza tîmê mêvandarê we (RAM, CPU, cureyê dîskê).
  • Wêneya bingehîn tê bikaranîn (çêtir e ku meriv qutiyên xweşbînkirî bikar bînin).
  • Hejmara makîneyên ku di heman demê de dixebitin.
  • Bikaranîna dîskê ya cihêreng û dabînkirina zirav.

Pratîkek hevpar a ji bo nivîsandina pir hawîrdoran ev e ku meriv a box şexsî ku jixwe hemî kategoriyên we dihewîne: amûr, karûbar, rê, hwd. Ev yek ji nûve sazkirina heman tiştê di her nimûneyê de dûr dixe.

Bikaranîna Vagrant li ser Hyper-V li ser Windows-ê bi tevahî guncan e, her çend bi hin sînorkirinên ku bi verastkirinên piçûk ve têne çareser kirin. Hyper-V bi teknolojiyên nûjen ên Microsoft-ê re zexm û lihevhatî peyda dike, dema ku Vagrant otomasyon û veguheztina hawîrdora pêşkeftinê hêsantir dike.