Kompletný sprievodca inštaláciou a používaním Vagrant na Hyper-V v systéme Windows 11

Posledná aktualizácia: 08/04/2025

  • 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í.
Nainštalujte Vagrant na Hyper-V-1

 

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.

Exkluzívny obsah – kliknite sem  Ako uplatniť kód Google Play

Výhody použitia Vagrant s Hyper-V

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.

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

Exkluzívny obsah – kliknite sem  Ako nainštalujete aktualizácie pre vzdialenú aplikáciu balíka Microsoft Office?

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.

 

hyper v

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

Poskytovanie VM pomocou skriptov

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.

Exkluzívny obsah – kliknite sem  Ako hrať Ruzzle v iných jazykoch

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.