- Vagrant podpira Hyper-V od Windows 8.1 ali novejših in omogoča ponovljiva okolja
- Namestitev in konfiguracija Vagranta na Hyper-V zahteva posebne nastavitve omrežja in zagotavljanja.
- Hyper-V ne dovoljuje zlahka določenih funkcij, kot so statični IP-ji, vendar obstajajo komplementarne rešitve
- Priporočljivo je, da uporabite Hyper-V združljive 'box' slike, da se izognete napakam pri zagonu.

Vnos, Hitro in urejeno nastavite virtualna okolja v sistemu Windows Zdi se kot zapletena misija. Na srečo imamo orodja, kot je Vagrant na Hyper-V da bi to omogočili. In čeprav je njegova uporaba bolj povezana z VirtualBoxom, je tudi popolnoma združljiva s to virtualizacijsko tehnologijo, ki je že integrirana v številne različice sistema Windows.
Kljub temu namestitev in konfiguracija Pohlepno v Hyper-V ni tako enostavno, kot se zdi. Obstaja ključni koraki in posebnosti Microsoftovega ponudnika virtualizacije, ki jih morate poznati. V tem članku vam bomo ponudili vse, kar potrebujete za zagon virtualnih okolij po tej formuli brez težav.
Kaj je Vagrant in zakaj uporabljati Hyper-V?
Pohlepno je odprtokodno orodje to omogoča zgradite ponovljiva in prenosljiva virtualna okolja s preprostimi konfiguracijskimi datotekami. Namenjen je razvijalcem, sistemskim skrbnikom ali vsem, ki potrebujejo dosledna okolja v vseh računalnikih s podporo za več operacijskih sistemov.
Na svoji strani Hyper-V je Microsoftov domači hipervizor, vključeno v različice Professional, Enterprise in Education sistema Windows 8.1 in novejše. Ponuja visoko zmogljivost in stabilnost, še posebej uporabno, ko so drugi hipervizorji, kot je VirtualBox, v nasprotju v sodobnih okoljih Windows.
Eden najpogostejših razlogov za izbiro Hyper-V namesto VirtualBox je, da nekateri izdelki, kot npr DockerDesktop ali WSL2 (podsistem Windows za Linux), zahtevajo, da je Hyper-V omogočen. To ustvarja nezdružljivost z VirtualBoxom, zaradi česar je Hyper-V edina veljavna rešitev, če ne želimo aktivirati in deaktivirati storitev.
Namestitev Vagranta in omogočanje Hyper-V
Preden začnete uporabljati Vagrant na Hyper-V, Preverite, ali ima vaš računalnik omogočen Hyper-V. Bodite previdni, ker običajno ni privzeto omogočeno. To lahko storite ročno v razdelku »Vklop funkcij sistema Windows« ali z naslednjim ukazom v PowerShell (kot skrbnik):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Po izvedbi tega ukaza potreben je ponovni zagon računalnika da spremembe začnejo veljati.
Vzporedno morate Prenesite in namestite Vagrant z uradne spletne strani. Namestitveni program vključuje vse, kar potrebujete za uporabo ukaza vagrant neposredno iz katerega koli terminala.
Po namestitvi lahko preverite, ali je vse pravilno, tako da v terminalu zaženete naslednje:
vagrant --version
Ta ukaz bi moral na primer vrniti nameščeno različico Potepuh 2.4.0.
1. korak: Pripravite osnovno okolje
Vagrant temelji na "škatlah", ki so osnovne slike vnaprej nameščenih operacijskih sistemov. Te se samodejno prenesejo iz javnega indeksa, znanega kot Vagrant Cloud. Za začetek morate ustvariti mapo, v kateri boste delali na svojem projektu. Na primer:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Ta ukaz bo ustvaril datoteko z imenom Vagrantfile kjer je vsa konfiguracija virtualnega stroja. Znotraj njega boste morali prilagoditi nekaj ključnih parametrov za uporabo Hyper-V.
Konfiguracija ponudnika Hyper-V
Privzeto, Vagrant bo poskušal uporabiti VirtualBox kot ponudnika. Če želite uporabiti Hyper-V, lahko to določite vsakič tako, da zaženete:
vagrant up --provider=hyperv
Ali pa nastavite Hyper-V kot privzetega ponudnika tako, da nastavite spremenljivko okolja:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Ta korak lahko izvedete iz lupine PowerShell ali neposredno v spremenljivkah sistemskega okolja.
Znotraj datoteke Vagrantfile, Priporočljivo je, da določite ponudnika s posebnimi nastavitvami. Osnovni primer bi bil:
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
Ti parametri vam omogočajo dodelitev RAM, število jeder in ime, ki ga bo imel stroj v Hyper-V.
Omrežje in povezljivost v Hyper-V
Ena od šibkih točk Hyper-V v Vagrantu je, da ne konfigurira samodejno omrežja. Zaradi tega boste morali ročno izbrati vSwitch z zunanjo povezljivostjo, ki je že ustvarjena v Hyper-V.
Če želite povezati zasebno omrežje ali izbrati določen vSwitch, lahko uporabite:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Upoštevajte to Hyper-V vam ne omogoča neposredne konfiguracije statičnih IP-jev iz Vagranta., zato jih je treba nastaviti s skripti ali s spreminjanjem nastavitev gostujočega operacijskega sistema.
Dostop do stroja: SSH in druga orodja
Čeprav se morda zdi, da SSH ni mogoče uporabiti v sistemu Windows, Vagrant vključuje vgrajenega odjemalca SSH, tako da lahko do njega dostopate, ne da bi morali namestiti dodatne programe.
Prijavite se z:
vagrant ssh
Uporabite lahko tudi PuTTY, vendar boste v tem primeru potrebovali Pretvorite zasebni ključ, ki ga je ustvaril Vagrant, v format PPK (s PuTTYgen), saj ni neposredno podprt. Ključ se nahaja na:
.vagrant/machines/default/hyperv/private_key
To vam bo omogočilo ročno povezavo iz katerega koli odjemalca SSH, ki vam je ljubši.
Oskrba s skripti
Ena največjih prednosti Vagranta je njegova podpora za samodejno zagotavljanje, zahvaljujoč skriptom. Zaženete lahko lupinske skripte za ponovljive namestitve:
config.vm.provision "shell", path: "bootstrap.sh"
Znotraj datoteke bootstrap.sh Vključite lahko navodila, kot so:
apk update
apk add git
To bo potekalo prvič, ko je VM ustvarjen. Če želite skript znova uporabiti pozneje, lahko storite:
vagrant reload --provision
Delo z več stroji
Vagrant vam omogoča upravljanje več kot enega računalnika iz ene datoteke. To je uporabno za laboratorije ali gruče strežnikov. Tipična nastavitev za laboratorij lahko vključuje več definicij:
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
To omogoča, da se stroji med seboj prepoznajo po imenih, kot je npr vozlišče1.lokalno o master.local zahvaljujoč uporabi mDNS.
Nasveti za zmogljivost in združljivost
Vagrant uspešnost na Hyper-V je na splošno dobra, vendar je odvisna od:
- Moč vaše gostiteljske ekipe (RAM, CPE, vrsta diska).
- Uporabljena osnovna slika (bolje uporabiti optimizirane škatle).
- Število strojev, ki delujejo hkrati.
- Diferencialna uporaba diska in tanko zagotavljanje.
Običajna praksa za skriptiranje več okolij je ustvariti a personalizirana škatla ki že vključuje vse vaše kategorije: orodja, storitve, poti itd. S tem se izognete ponovni namestitvi iste stvari v vsakem primeru.
Uporaba Vagranta na Hyper-V v sistemu Windows je popolnoma izvedljiva, čeprav z nekaterimi omejitvami, ki jih je mogoče rešiti z majhnimi prilagoditvami. Hyper-V zagotavlja robustnost in združljivost s sodobnimi Microsoftovimi tehnologijami, medtem ko Vagrant omogoča avtomatizacijo in prenosljivost razvojnega okolja.
Urednik, specializiran za tehnološka in internetna vprašanja, z več kot desetletnimi izkušnjami v različnih digitalnih medijih. Delal sem kot urednik in ustvarjalec vsebin za podjetja za e-trgovino, komunikacije, spletni marketing in oglaševanje. Pisal sem tudi na spletnih straneh s področja ekonomije, financ in drugih sektorjev. Moje delo je tudi moja strast. Zdaj pa skozi moje članke v Tecnobits, poskušam raziskati vse novosti in nove priložnosti, ki nam jih svet tehnologije ponuja vsak dan za izboljšanje našega življenja.



