- Vagrant ṣe atilẹyin Hyper-V lati Windows 8.1 tabi ti o ga julọ ati ṣiṣe awọn agbegbe ti o le ṣe atunṣe
- Fifi ati tunto Vagrant lori Hyper-V nilo netiwọki kan pato ati awọn eto ipese.
- Hyper-V ko gba awọn ẹya kan laaye bi IPs aimi ni irọrun, ṣugbọn awọn solusan ibaramu wa
- A ṣe iṣeduro lati lo awọn aworan 'apoti' ibaramu Hyper-V lati yago fun awọn aṣiṣe bata.

Input, Ṣeto awọn agbegbe foju ni kiakia ati ni aṣẹ ni Windows O dabi iṣẹ apinfunni eka kan. Ni Oriire, a ni awọn irinṣẹ bii Vagrant lori Hyper-V lati jẹ ki o ṣee ṣe. Ati pe botilẹjẹpe lilo rẹ jẹ diẹ sii ni nkan ṣe pẹlu VirtualBox, o tun jẹ ibaramu ni kikun pẹlu imọ-ẹrọ ipalọlọ ti o ti ṣepọ tẹlẹ sinu ọpọlọpọ awọn ẹya ti Windows.
Bi o ti jẹ pe, fifi sori ẹrọ ati tunto Ajinde ni Hyper-V kii ṣe rọrun bi o ṣe dabi. O wa bọtini awọn igbesẹ ati awọn iyasọtọ ti olupese iṣẹ agbara Microsoft ti o yẹ ki o mọ. Ninu nkan yii, a yoo fun ọ ni ohun gbogbo ti o nilo lati ṣe ifilọlẹ awọn agbegbe foju ni atẹle agbekalẹ yii laisi awọn iṣoro eyikeyi.
Kini Vagrant ati kilode ti o lo Hyper-V?
Ajinde O jẹ irinṣẹ orisun orisun ti o fun laaye kọ atunṣe ati awọn agbegbe foju gbigbe nipasẹ awọn faili iṣeto ti o rọrun. O jẹ apẹrẹ fun awọn olupilẹṣẹ, awọn alabojuto eto, tabi ẹnikẹni ti o nilo awọn agbegbe ibaramu kọja awọn kọnputa, pẹlu atilẹyin fun awọn ọna ṣiṣe lọpọlọpọ.
Ni ida keji, Hyper-V jẹ hypervisor abinibi ti Microsoft, to wa ninu Ọjọgbọn, Idawọlẹ, ati awọn ẹya Ẹkọ ti Windows 8.1 ati nigbamii. O funni ni iṣẹ giga ati iduroṣinṣin, paapaa iwulo nigbati awọn hypervisors miiran bii rogbodiyan VirtualBox ni awọn agbegbe Windows ode oni.
Ọkan ninu awọn idi ti o wọpọ julọ fun jijade Hyper-V dipo VirtualBox ni pe diẹ ninu awọn ọja, bii Ojú-iṣẹ Docker tabi WSL2 (Windows Subsystem fun Linux), nilo Hyper-V lati mu ṣiṣẹ. Eyi ṣẹda awọn aiṣedeede pẹlu VirtualBox, ṣiṣe Hyper-V ojutu ti o wulo nikan ti a ko ba fẹ lati mu ṣiṣẹ ati mu awọn iṣẹ ṣiṣẹ.
Fifi Vagrant ati Ṣiṣẹ Hyper-V
Ṣaaju ki o to bẹrẹ lilo Vagrant lori Hyper-V, Rii daju pe kọmputa rẹ ti ṣiṣẹ Hyper-V. Ṣọra, nitori ko nigbagbogbo ṣiṣẹ nipasẹ aiyipada. O le ṣe eyi pẹlu ọwọ lati apakan “Tan awọn ẹya Windows” tabi pẹlu aṣẹ atẹle ni PowerShell (gẹgẹbi oluṣakoso):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Lẹhin ṣiṣe aṣẹ yii, Atunbere kọmputa kan nilo fun awọn ayipada lati mu ipa.
Ni afiwe, o gbọdọ Ṣe igbasilẹ ati fi Vagrant sori ẹrọ lati oju opo wẹẹbu osise. Insitola pẹlu ohun gbogbo ti o nilo lati ni anfani lati lo aṣẹ naa vagrant taara lati eyikeyi ebute.
Ni kete ti o ti fi sii, o le rii daju pe ohun gbogbo tọ nipa ṣiṣe atẹle ni ebute naa:
vagrant --version
Aṣẹ yii yẹ ki o da ẹya ti a fi sii pada, fun apẹẹrẹ 2.4.0 Vagrant.
Igbesẹ 1: Mura ayika ipilẹ kan
Vagrant da lori “awọn apoti”, eyiti o jẹ awọn aworan ipilẹ ti awọn ọna ṣiṣe ti a ti fi sii tẹlẹ. Iwọnyi jẹ igbasilẹ laifọwọyi lati atọka gbogbo eniyan ti a mọ si Vagrant Cloud. Lati bẹrẹ, o nilo lati ṣẹda folda kan nibiti iwọ yoo ṣiṣẹ lori iṣẹ akanṣe rẹ. Fun apere:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Aṣẹ yii yoo ṣe ipilẹṣẹ faili ti a pe ni Vagrantfile eyi ti o jẹ ibi ti gbogbo awọn foju ẹrọ iṣeto ni gbe. Ninu rẹ iwọ yoo nilo lati ṣatunṣe diẹ ninu awọn paramita bọtini lati lo Hyper-V.
Iṣeto ni Olupese Hyper-V
Nipa aiyipada, Vagrant yoo gbiyanju lati lo VirtualBox bi olupese. Lati lo Hyper-V, o le pato eyi ni igba kọọkan nipa ṣiṣe:
vagrant up --provider=hyperv
Tabi, ṣeto Hyper-V bi olupese aiyipada nipa siseto oniyipada ayika:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Igbesẹ yii le ṣee ṣe lati PowerShell tabi taara ninu awọn oniyipada ayika eto rẹ.
Ninu Vagrantfile, O ti wa ni niyanju lati pato awọn olupese pẹlu kan pato eto. Apeere ipilẹ yoo jẹ:
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
Awọn paramita wọnyi gba ọ laaye lati sọtọ Ramu, nọmba awọn ohun kohun, ati orukọ ẹrọ naa yoo ni ni Hyper-V.
Nẹtiwọki ati Asopọmọra ni Hyper-V
Ọkan ninu awọn aaye ailagbara ti Hyper-V ni Vagrant ni pe ko tunto nẹtiwọọki laifọwọyi. Fun idi eyi, iwọ yoo nilo lati yan vSwitch pẹlu ọwọ pẹlu isopọmọ ita ti a ṣẹda tẹlẹ ni Hyper-V.
Lati darapọ mọ nẹtiwọki aladani tabi yan vSwitch kan pato, o le lo:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Jọwọ ṣe akiyesi pe Hyper-V ko gba ọ laaye lati tunto awọn IP aimi taara lati Vagrant., nitorinaa wọn gbọdọ ṣeto ni lilo awọn iwe afọwọkọ tabi nipa yiyipada awọn eto iṣẹ ṣiṣe alejo.
Wiwọle ẹrọ: SSH ati awọn irinṣẹ miiran
Botilẹjẹpe o le dabi pe SSH ko le ṣee lo lori Windows, Vagrant pẹlu onibara SSH ti a ṣe sinu rẹ, nitorina o le wọle si laisi nini lati fi awọn eto afikun sii.
Wọle pẹlu:
vagrant ssh
O tun le lo Putty, ṣugbọn ninu ọran naa iwọ yoo nilo Yipada bọtini ikọkọ ti ipilẹṣẹ nipasẹ Vagrant si ọna kika PPK (pẹlu PuTTYgen), nitori ko ṣe atilẹyin taara. Bọtini naa wa ni:
.vagrant/machines/default/hyperv/private_key
Eyi yoo gba ọ laaye lati sopọ pẹlu ọwọ lati ọdọ alabara SSH eyikeyi ti o fẹ.
Ipese pẹlu awọn iwe afọwọkọ
Ọkan ninu awọn anfani nla julọ ti Vagrant ni atilẹyin rẹ fun ipese laifọwọyi, o ṣeun si awọn iwe afọwọkọ. O le ṣe ifilọlẹ awọn iwe afọwọkọ ikarahun fun awọn fifi sori ẹrọ atunwi:
config.vm.provision "shell", path: "bootstrap.sh"
Inu faili naa bootstrap.sh O le ni awọn itọnisọna gẹgẹbi:
apk update
apk add git
Eyi yoo ṣiṣẹ ni igba akọkọ ti VM ṣẹda. Ti o ba fẹ tun kan iwe afọwọkọ naa nigbamii, o le ṣe:
vagrant reload --provision
Ṣiṣẹ pẹlu awọn ẹrọ pupọ
Vagrant gba ọ laaye lati ṣakoso awọn ẹrọ diẹ sii ju ọkan lọ lati faili kan. Eyi wulo fun awọn laabu tabi awọn iṣupọ olupin. Iṣeto aṣoju fun laabu le ni ọpọlọpọ awọn itumọ:
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
Eyi n gba awọn ẹrọ laaye lati da ara wọn mọ nipasẹ awọn orukọ gẹgẹbi node1.agbegbe o oluwa.agbegbe o ṣeun si awọn lilo ti mDNS.
Awọn imọran iṣẹ ṣiṣe ati ibamu
Iṣe alaanu lori Hyper-V dara ni gbogbogbo, ṣugbọn o da lori:
- Agbara ti ẹgbẹ agbalejo rẹ (Àgbo, Sipiyu, disk iru).
- Aworan ipilẹ ti a lo (dara julọ lati lo awọn apoti iṣapeye).
- Nọmba awọn ẹrọ nṣiṣẹ ni akoko kanna.
- Lilo disk iyatọ ati ipese tinrin.
Iwa ti o wọpọ fun kikọ awọn agbegbe pupọ ni lati ṣẹda a àdáni apoti ti o pẹlu gbogbo awọn ẹka rẹ tẹlẹ: awọn irinṣẹ, awọn iṣẹ, awọn ipa-ọna, ati bẹbẹ lọ. Eyi yago fun nini lati tun ohun kanna sori ẹrọ ni apẹẹrẹ kọọkan.
Lilo Vagrant lori Hyper-V lori Windows jẹ ṣiṣeeṣe patapata, biotilejepe pẹlu diẹ ninu awọn idiwọn ti o le ṣe atunṣe pẹlu awọn atunṣe kekere. Hyper-V n pese agbara ati ibaramu pẹlu awọn imọ-ẹrọ Microsoft ode oni, lakoko ti Vagrant ṣe adaṣe adaṣe ati gbigbe ti agbegbe idagbasoke.
Olootu amọja ni imọ-ẹrọ ati awọn ọran intanẹẹti pẹlu diẹ sii ju ọdun mẹwa ti iriri ni oriṣiriṣi awọn media oni-nọmba. Mo ti ṣiṣẹ bi olootu ati olupilẹṣẹ akoonu fun iṣowo e-commerce, ibaraẹnisọrọ, titaja ori ayelujara ati awọn ile-iṣẹ ipolowo. Mo tun ti kọ lori eto-ọrọ, iṣuna ati awọn oju opo wẹẹbu awọn apakan miiran. Iṣẹ mi tun jẹ ifẹ mi. Bayi, nipasẹ awọn nkan mi ninu Tecnobits, Mo gbiyanju lati ṣawari gbogbo awọn iroyin ati awọn anfani titun ti aye ti imọ-ẹrọ ti nfun wa ni gbogbo ọjọ lati mu igbesi aye wa dara.



