- Vagrant podporuje Hyper-V od Windowsu 8.1 alebo vyššieho a uľahčuje reprodukovateľné prostredia
- Inštalácia a konfigurácia Vagrant na Hyper-V vyžaduje špecifické nastavenia siete a poskytovania.
- Hyper-V neumožňuje niektoré funkcie, ako sú statické adresy IP, ľahko, existujú však doplnkové riešenia
- Odporúča sa používať obrázky „box“ kompatibilné s Hyper-V, aby ste sa vyhli chybám pri zavádzaní.

Vstup, Nastavte virtuálne prostredia rýchlo a usporiadane v systéme Windows Vyzerá to ako zložitá misia. Našťastie máme nástroje ako Vagrant na Hyper-V aby to bolo možné. A hoci je jeho použitie viac spojené s VirtualBoxom, je tiež plne kompatibilný s touto virtualizačnou technológiou, ktorá je už integrovaná v mnohých verziách Windows.
Napriek tomu inštalácia a konfigurácia tulák v Hyper-V to nie je také jednoduché, ako sa zdá. Existuje kľúčové kroky a zvláštnosti poskytovateľa virtualizácie Microsoft, ktoré by ste mali poznať. V tomto článku vám poskytneme všetko, čo potrebujete na bezproblémové spustenie virtuálnych prostredí podľa tohto vzorca.
Čo je Vagrant a prečo používať Hyper-V?
tulák je nástroj otvoreného zdroja umožňujúce vytvárať reprodukovateľné a prenosné virtuálne prostredia prostredníctvom jednoduchých konfiguračných súborov. Je určený pre vývojárov, správcov systému alebo kohokoľvek, kto potrebuje konzistentné prostredia naprieč počítačmi s podporou viacerých operačných systémov.
Pre jeho časť, Hyper-V je natívny hypervízor spoločnosti Microsoft, zahrnuté vo verziách Professional, Enterprise a Education systému Windows 8.1 a novších. Ponúka vysoký výkon a stabilitu, čo je obzvlášť užitočné v prípade konfliktu iných hypervízorov, ako je VirtualBox, v moderných prostrediach Windows.
Jeden z najčastejších dôvodov, prečo sa rozhodnúť Hyper-V namiesto VirtualBoxu je, že niektoré produkty, ako napr DockerDesktop alebo WSL2 (Windows Subsystem for Linux), vyžadujú povolenie Hyper-V. To vytvára nekompatibilitu s VirtualBoxom, vďaka čomu je Hyper-V jediným platným riešením, ak nechceme aktivovať a deaktivovať služby.
Inštalácia Vagrant a povolenie Hyper-V
Skôr ako začnete používať Vagrant na Hyper-V, Uistite sa, že váš počítač má povolenú technológiu Hyper-V. Buďte opatrní, pretože v predvolenom nastavení zvyčajne nie je povolená. Môžete to urobiť ručne v časti „Zapnutie funkcií systému Windows“ alebo pomocou nasledujúceho príkazu v prostredí PowerShell (ako správca):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Po vykonaní tohto príkazu je potrebný reštart počítača aby sa zmeny prejavili.
Paralelne musíte Stiahnite si a nainštalujte Vagrant z oficiálnej webovej stránky. Inštalačný program obsahuje všetko, čo potrebujete, aby ste mohli príkaz použiť vagrant priamo z akéhokoľvek terminálu.
Po inštalácii si môžete overiť, či je všetko správne spustením nasledujúceho príkazu v termináli:
vagrant --version
Tento príkaz by mal vrátiť nainštalovanú verziu napr Vagrant 2.4.0.
Krok 1: Pripravte si základné prostredie
Vagrant je založený na „boxoch“, ktoré sú základnými obrázkami predinštalovaných operačných systémov. Tie sa automaticky stiahnu z verejného indexu známeho ako Vagrant Cloud. Ak chcete začať, musíte si vytvoriť priečinok, v ktorom budete pracovať na svojom projekte. Napríklad:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Tento príkaz vygeneruje súbor s názvom Vagrantfile kde sa nachádza všetka konfigurácia virtuálneho počítača. V rámci neho budete musieť upraviť niektoré kľúčové parametre, aby ste mohli používať Hyper-V.
Konfigurácia poskytovateľa Hyper-V
Predvolene, Vagrant sa pokúsi použiť VirtualBox ako poskytovateľa. Ak chcete použiť Hyper-V, môžete to zakaždým zadať spustením:
vagrant up --provider=hyperv
Alebo nastavte Hyper-V ako predvoleného poskytovateľa nastavením premennej prostredia:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Tento krok je možné vykonať z prostredia PowerShell alebo priamo v premenných prostredia vášho systému.
Vo vnútri súboru Vagrantfile, Odporúča sa špecifikovať poskytovateľa so špecifickými nastaveniami. Základným príkladom by bolo:
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
Tieto parametre vám umožňujú priradiť RAM, počet jadier a názov, ktorý bude mať počítač v Hyper-V.
Sieť a konektivita v Hyper-V
Jednou zo slabých stránok Hyper-V vo Vagrant je, že nekonfiguruje sieť automaticky. Z tohto dôvodu budete musieť manuálne vybrať vSwitch s externým pripojením, ktoré už bolo vytvorené v Hyper-V.
Ak chcete priradiť súkromnú sieť alebo vybrať konkrétny vSwitch, môžete použiť:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Majte na pamäti, že Hyper-V vám neumožňuje priamo konfigurovať statické IP adresy z Vagrantu., preto ich treba nastaviť pomocou skriptov alebo úpravou nastavení hosťujúceho operačného systému.
Prístup k stroju: SSH a ďalšie nástroje
Hoci sa môže zdať, že SSH nemožno použiť v systéme Windows, Vagrant obsahuje vstavaného klienta SSH, takže k nemu máte prístup bez toho, aby ste museli inštalovať ďalšie programy.
Prihláste sa pomocou:
vagrant ssh
Môžete tiež použiť PuTTY, ale v takom prípade budete potrebovať Preveďte súkromný kľúč vygenerovaný Vagrantom do formátu PPK (s PuTTYgen), pretože nie je priamo podporovaný. Kľúč sa nachádza na adrese:
.vagrant/machines/default/hyperv/private_key
To vám umožní manuálne sa pripojiť z ľubovoľného klienta SSH, ktorý preferujete.
Poskytovanie skriptov
Jednou z najväčších výhod Vagrantu je jeho podpora automatické poskytovanie vďaka skriptom. Môžete spustiť skripty shellu pre opakovateľné inštalácie:
config.vm.provision "shell", path: "bootstrap.sh"
Vo vnútri súboru bootstrap.sh Môžete zahrnúť pokyny, ako napríklad:
apk update
apk add git
Toto sa spustí pri prvom vytvorení VM. Ak chcete skript znova použiť neskôr, môžete:
vagrant reload --provision
Práca s viacerými strojmi
Vagrant vám umožňuje spravovať viac ako jeden počítač z jedného súboru. To je užitočné pre laboratóriá alebo klastre serverov. Typické nastavenie pre laboratórium môže obsahovať niekoľko definícií:
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 umožňuje strojom rozoznať sa navzájom podľa mien ako napr uzol1.miestny o majster.miestny vďaka použitiu mDNS.
Tipy na výkon a kompatibilitu
Výkon Vagrant na Hyper-V je vo všeobecnosti dobrý, ale závisí od:
- Sila vášho hostiteľského tímu (RAM, CPU, typ disku).
- Použitý základný obrázok (lepšie použiť optimalizované boxy).
- Počet súčasne spustených strojov.
- Diferenciálne využitie disku a tenké poskytovanie.
Bežnou praxou pri skriptovaní viacerých prostredí je vytvorenie a personalizovaný box ktorý už zahŕňa všetky vaše kategórie: nástroje, služby, trasy atď. Vyhnete sa tak nutnosti preinštalovať to isté v každom prípade.
Používanie Vagrant na Hyper-V v systéme Windows je úplne životaschopné, aj keď s istými obmedzeniami, ktoré sa dajú vyriešiť malými úpravami. Hyper-V poskytuje robustnosť a kompatibilitu s modernými technológiami Microsoftu, zatiaľ čo Vagrant uľahčuje automatizáciu a prenosnosť vývojového prostredia.
Redaktor špecializovaný na problematiku technológií a internetu s viac ako desaťročnými skúsenosťami v rôznych digitálnych médiách. Pracoval som ako redaktor a tvorca obsahu pre e-commerce, komunikáciu, online marketing a reklamné spoločnosti. Písal som aj na ekonomické, finančné a iné sektorové weby. Moja práca je zároveň mojou vášňou. Teraz prostredníctvom mojich článkov v Tecnobits, snažím sa každý deň preskúmať všetky novinky a nové možnosti, ktoré nám svet technológií ponúka na zlepšenie nášho života.



