- 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.

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.
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.
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.
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.
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
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.
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.
Edîtorê pisporê teknolojî û pirsgirêkên înternetê bi zêdetirî deh salan ezmûna xwe di medyaya dîjîtal a cihêreng de heye. Min ji bo pargîdaniyên e-bazirganî, ragihandinê, kirrûbirra serhêl û reklamê wekî edîtor û afirînerê naverokê xebitî. Min li ser malperên aborî, darayî û sektorên din jî nivîsandiye. Karê min jî hewesa min e. Naha, bi gotarên min di nav de Tecnobits, Ez hewl didim ku hemî nûçe û derfetên nû yên ku cîhana teknolojiyê her roj pêşkêşî me dike ji bo baştirkirina jiyana me bikolim.



