Ke alakaʻi piha i ka hoʻokomo ʻana a me ka hoʻohana ʻana iā Vagrant ma Hyper-V i Windows 11

Hoʻohou hope loa: 04/08/2025

  • Kākoʻo ʻo Vagrant i ka Hyper-V mai Windows 8.1 a i ʻole ke kiʻekiʻe aʻe a hoʻomaʻamaʻa i nā kaiapuni hiki ke hana hou ʻia
  • Pono ka hoʻonohonoho ʻana a me ka hoʻonohonoho ʻana iā Vagrant ma Hyper-V i nā hoʻonohonoho pūnaewele a me nā hoʻonohonoho hoʻolako.
  • ʻAʻole ʻae ʻo Hyper-V i kekahi mau hiʻohiʻona e like me IP static maʻalahi, akā aia nā hoʻonā hoʻohui
  • Manaʻo ʻia e hoʻohana i nā kiʻi 'pahu' kūpono ʻo Hyper-V e pale i nā hewa boot.
E hoʻouka i ka Vagrant ma Hyper-V-1

 

I ka hoʻomaka ʻana, Hoʻonohonoho wikiwiki a hoʻonohonoho pono i nā kaiapuni virtual ma Windows Me he mea lā he mikiona paʻakikī. ʻO ka mea pōmaikaʻi, loaʻa iā mākou nā mea hana like Vagrant ma Hyper-V e hiki ai. A ʻoiai ʻoi aku ka pili o kona hoʻohana ʻana me VirtualBox, ua paʻa loa ia me kēia ʻenehana virtualization i hoʻohui ʻia i nā mana he nui o Windows.

ʻOiai kēlā, hoʻokomo a hoʻonohonoho ʻAuwana ma Hyper-V ʻaʻole maʻalahi e like me ka mea i manaʻo ʻia. Aia nā ʻanuʻu koʻikoʻi a me nā hiʻohiʻona o ka mea hoʻolako virtualization Microsoft āu e ʻike ai. Ma kēia ʻatikala, hāʻawi mākou iā ʻoe i nā mea a pau e pono ai ʻoe e hoʻomaka i nā kaiapuni virtual e hahai ana i kēia ʻano kumu me ka pilikia ʻole.

He aha ka Vagrant a no ke aha e hoʻohana ai iā Hyper-V?

ʻAuwana He mea ia mea hana kumu wehe e ʻae ana kūkulu i nā kaiapuni virtual reproducible a lawe ʻia ma o nā faila hoʻonohonoho maʻalahi. Hoʻolālā ʻia ia no nā mea hoʻomohala, nā luna hoʻomalu ʻōnaehana, a i ʻole nā ​​​​mea āpau e makemake i nā kaiapuni kūlike ma nā kamepiula, me ke kākoʻo no nā ʻōnaehana hana lehulehu.

No ko lākou ʻāpana, ʻO Hyper-V ka hypervisor maoli o Microsoft, i hoʻokomo ʻia i loko o nā mana ʻOihana, Enterprise, a me Education o Windows 8.1 a ma hope. Hāʻawi ia i ka hana kiʻekiʻe a me ke kūpaʻa, ʻoi aku ka maikaʻi i ka wā o nā hypervisors ʻē aʻe e like me VirtualBox hakakā i nā ʻenehana Windows hou.

ʻO kekahi o nā kumu maʻamau no ke koho ʻana Hyper-V ma kahi o VirtualBox kekahi mau huahana, e like me Papapihi Docker a i ʻole WSL2 (Windows Subsystem for Linux), koi iā Hyper-V e hoʻā. Hoʻokumu kēia i nā mea like ʻole me VirtualBox, e hana ana iā Hyper-V wale nō ka hopena kūpono inā ʻaʻole mākou makemake e hoʻāla a hoʻopau i nā lawelawe.

Maʻiʻo kūʻokoʻa - Kaomi maanei  Pehea e hiki ai iaʻu ke hoʻokaʻaʻike aku i ka hui app FreeCodeCamp?

Nā pōmaikaʻi o ka hoʻohana ʻana iā Vagrant me Hyper-V

Ke hoʻokomo nei i ka Vagrant a me ka hoʻonā ʻana iā Hyper-V

Ma mua o kou hoʻomaka ʻana e hoʻohana iā Vagrant ma Hyper-V, E hōʻoia i kāu kamepiula i hiki iā Hyper-V. E akahele, no ka mea, ʻaʻole hiki ke hoʻohana ʻia e ka paʻamau. Hiki iā ʻoe ke hana i kēia me ka lima mai ka ʻāpana "Huli i nā hiʻohiʻona Windows" a i ʻole me kēia kauoha ma PowerShell (ma ke ʻano he luna hoʻomalu):

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

Ma hope o ka hoʻokō ʻana i kēia kauoha, pono e ho'omaka hou ka lolouila no ka hoʻokō ʻana o nā hoʻololi.

I ka like, pono ʻoe Hoʻoiho a hoʻokomo iā Vagrant mai ka pūnaewele official. Aia ka mea hoʻonoho i nā mea a pau āu e pono ai e hoʻohana i ke kauoha vagrant pololei mai kekahi terminal.

Ke hoʻokomo ʻia, hiki iā ʻoe ke hōʻoia ua pololei nā mea āpau ma ka holo ʻana i kēia ma ka terminal:

vagrant --version

Pono kēia kauoha e hoʻihoʻi i ka mana i kau ʻia, no ka laʻana Vagrant 2.4.0.

KaʻAnuʻu 1: E hoʻomākaukau i kahi kahua kumu

Hoʻokumu ʻia ʻo Vagrant ma nā "pahu", ʻo ia nā kiʻi kumu o nā ʻōnaehana hana i hoʻokomo mua ʻia. Hoʻoiho ʻia kēia mau mea mai ka papa kuhikuhi lehulehu i kapa ʻia ʻo Vagrant Cloud. No ka hoʻomaka ʻana, pono ʻoe e hana i kahi waihona kahi āu e hana ai ma kāu papahana. ʻo kahi laʻana:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

ʻO kēia kauoha e hana i kahi faila i kapa ʻia ʻo Vagrantfile ʻo ia kahi e noho ai ka hoʻonohonoho mīkini virtual a pau. I loko o ia mea pono ʻoe e hoʻoponopono i kekahi mau ʻāpana koʻikoʻi e hoʻohana iā Hyper-V.

Vagrant ma Hyper-V

Hoʻonohonoho hoʻolako Hyper-V

Ma ka paʻamau, E ho'āʻo ʻo Vagrant e hoʻohana iā VirtualBox ma ke ʻano he mea hoʻolako. No ka hoʻohana ʻana iā Hyper-V, hiki iā ʻoe ke kuhikuhi i kēia i kēlā me kēia manawa ma ka holo ʻana:

vagrant up --provider=hyperv

A i ʻole, hoʻonoho iā Hyper-V ma ke ʻano he mea hoʻolako paʻamau ma ka hoʻonohonoho ʻana i kahi ʻano hoʻololi kaiapuni:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Hiki ke hana ʻia kēia ʻanuʻu mai PowerShell a i ʻole pololei i kāu ʻōnaehana kaiapuni.

Maʻiʻo kūʻokoʻa - Kaomi maanei  No ke aha e hoʻohana ai i ka polokalamu Calm?

I loko o ka Vagrantfile, Manaʻo ʻia e kuhikuhi i ka mea hāʻawi me nā hoʻonohonoho kikoʻī. ʻO kahi laʻana kumu:

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

ʻAe kēia mau ʻāpana iā ʻoe e hoʻonohonoho RAM, helu o nā cores, a me ka inoa o ka mīkini i Hyper-V.

ʻO ka pūnaewele a me ka pilina ma Hyper-V

ʻO kekahi o nā wahi nāwaliwali o Hyper-V ma Vagrant ʻaʻole ia e hoʻonohonoho maʻalahi i ka pūnaewele. No kēia kumu, pono ʻoe e koho lima i kahi vSwitch me ka pilina o waho i hana ʻia ma Hyper-V.

No ka hoʻohui ʻana i kahi pūnaewele pilikino a koho paha i kahi vSwitch kikoʻī, hiki iā ʻoe ke hoʻohana:

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

E hoʻomanaʻo i kēlā ʻAʻole ʻae ʻo Hyper-V iā ʻoe e hoʻonohonoho pololei i nā IP static mai Vagrant., no laila pono e hoʻonohonoho ʻia me ka hoʻohana ʻana i nā palapala a i ʻole ma ka hoʻololi ʻana i nā hoʻonohonoho hoʻonohonoho hoʻonohonoho hoʻonohonoho hoʻokele malihini.

 

hyper-v

Loaʻa i ka mīkini: SSH a me nā mea hana ʻē aʻe

ʻOiai ʻaʻole hiki ke hoʻohana ʻia ka SSH ma Windows, Aia ʻo Vagrant i kahi mea kūʻai aku SSH i kūkulu ʻia, no laila hiki iā ʻoe ke komo iā ia me ka ʻole e hoʻokomo i nā polokalamu hou.

E komo me:

vagrant ssh

Hiki iā ʻoe ke hoʻohana i ka PuTTY, akā inā pono ʻoe E hoʻohuli i ke kī pilikino i hoʻokumu ʻia e Vagrant i ke ʻano PPK (me PuTTYgen), no ka mea, ʻaʻole i kākoʻo pololei ʻia. Aia ke kī ma:

.vagrant/machines/default/hyperv/private_key

E ʻae kēia iā ʻoe e hoʻopili me ka lima mai kekahi mea kūʻai aku SSH āu e makemake ai.

Hoʻolako me nā palapala

ʻO kekahi o nā pōmaikaʻi nui loa o Vagrant ʻo kāna kākoʻo no hoʻolako 'akomi, mahalo i nā palapala. Hiki iā ʻoe ke hoʻomaka i nā script shell no ka hoʻokomo hou ʻana:

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

I loko o ka faila bootstrap.sh Hiki iā ʻoe ke hoʻokomo i nā kuhikuhi e like me:

apk update
apk add git

E holo ana keia ka manawa mua i hana ʻia ai ka VM. Inā makemake ʻoe e hoʻopili hou i ka palapala ma hope, hiki iā ʻoe ke hana:

vagrant reload --provision

Hoʻolako i nā VM me nā palapala

Ke hana nei me nā mīkini he nui

ʻAe ʻo Vagrant iā ʻoe e hoʻokele i ʻoi aku ma mua o hoʻokahi mīkini mai kahi faila hoʻokahi. Pono kēia no nā labs a i ʻole nā ​​​​hui kikowaena. Hiki i kahi hoʻonohonoho maʻamau no kahi lab ke komo i kekahi mau wehewehe:

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

ʻAe kēia i nā mīkini e ʻike i kekahi i kekahi ma nā inoa e like me node1.local o haku.local mahalo i ka hoʻohana ʻana o mDNS.

Maʻiʻo kūʻokoʻa - Kaomi maanei  Pehea e hahai ai i kāu mau leka uila koʻikoʻi ma SpikeNow?

Nā ʻōlelo aʻoaʻo hana a me ka hoʻohālikelike

Maikaʻi ka hana Vagrant ma Hyper-V, akā pili ia i:

  • Ka mana o kāu hui hoʻokipa (RAM, CPU, ʻano diski).
  • ʻO ke kiʻi kumu i hoʻohana ʻia (ʻoi aku ka maikaʻi o ka hoʻohana ʻana i nā pahu optimized).
  • Ka helu o nā mīkini e holo ana i ka manawa like.
  • ʻO ka hoʻohana ʻana i ka disk ʻokoʻa a me ka hoʻolako kikoʻī.

ʻO kahi hana maʻamau no ka kākau ʻana i nā kaiapuni he nui ka hana ʻana a pahu pilikino e komo pū ana kāu mau waeʻano a pau: nā mea hana, nā lawelawe, nā alahele, a pēlā aku.

ʻO ka hoʻohana ʻana iā Vagrant ma Hyper-V ma Windows hiki ke ola, ʻoiai me kekahi mau palena i hiki ke hoʻoponopono ʻia me nā hoʻololi liʻiliʻi. Hāʻawi ʻo Hyper-V i ka paʻa a me ka hoʻohālikelike ʻana me nā ʻenehana Microsoft hou, ʻoiai ʻo Vagrant e hoʻomaʻamaʻa i ka automation a me ka portability o ke kaiapuni hoʻomohala.