- „Vagrant“ palaiko „Hyper-V“ iš „Windows 8.1“ ar naujesnės versijos ir palengvina atkuriamą aplinką
- Norint įdiegti ir konfigūruoti „Vagrant“ „Hyper-V“, reikia konkrečių tinklo ir aprūpinimo nustatymų.
- „Hyper-V“ neleidžia lengvai naudoti tam tikrų funkcijų, pvz., statinių IP, tačiau yra papildomų sprendimų
- Norint išvengti įkrovos klaidų, rekomenduojama naudoti „Hyper-V“ suderinamus „dėžutės“ vaizdus.

Nuo pradžių, Greitai ir tvarkingai nustatykite virtualią aplinką sistemoje „Windows“. Atrodo, kad tai sudėtinga misija. Laimei, turime tokių įrankių kaip Valkata dėl Hyper-V kad būtų įmanoma. Ir nors jo naudojimas labiau siejamas su „VirtualBox“, jis taip pat visiškai suderinamas su šia virtualizacijos technologija, kuri jau yra integruota į daugelį „Windows“ versijų.
Nepaisant to, įdiegimas ir konfigūravimas Vagrant Hyper-V tai nėra taip paprasta, kaip atrodo. Yra pagrindiniai žingsniai ir Microsoft virtualizacijos teikėjo ypatumus, kuriuos turėtumėte žinoti. Šiame straipsnyje pateiksime viską, ko reikia norint be jokių problemų paleisti virtualias aplinkas pagal šią formulę.
Kas yra Vagrant ir kodėl verta naudoti Hyper-V?
Vagrant yra atvirojo kodo įrankis todėl kurkite atkuriamą ir nešiojamą virtualią aplinką naudodami paprastus konfigūracijos failus. Jis skirtas kūrėjams, sistemos administratoriams arba visiems, kuriems reikia nuoseklios aplinkos visuose kompiuteriuose, palaikančios kelias operacines sistemas.
Savo ruožtu, „Hyper-V“ yra vietinis „Microsoft“ hipervizorius, įtraukta į „Windows 8.1“ ir naujesnės versijos Professional, Enterprise ir Education versijas. Jis siūlo didelį našumą ir stabilumą, ypač naudingas, kai šiuolaikinėje Windows aplinkoje konfliktuoja kiti hipervizoriai, pvz., „VirtualBox“.
Viena dažniausių priežasčių, kodėl pasirenkama "Hyper-V" Vietoj VirtualBox yra tai, kad kai kurie produktai, pvz „Docker“ darbalaukis arba WSL2 („Windows“ posistemė, skirta Linux), reikia įjungti „Hyper-V“. Tai sukuria nesuderinamumą su „VirtualBox“, todėl „Hyper-V“ yra vienintelis tinkamas sprendimas, jei nenorime aktyvuoti ir išjungti paslaugų.
„Vagrant“ diegimas ir „Hyper-V“ įjungimas
Prieš pradėdami naudoti Vagrant su Hyper-V, Įsitikinkite, kad jūsų kompiuteryje įjungtas „Hyper-V“.. Būkite atsargūs, nes jis paprastai neįjungtas pagal numatytuosius nustatymus. Tai galite padaryti rankiniu būdu skiltyje „Įjungti Windows funkcijas“ arba naudodami šią „PowerShell“ komandą (kaip administratorius):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Įvykdę šią komandą, reikia iš naujo paleisti kompiuterį kad pakeitimai įsigaliotų.
Lygiagrečiai jūs turite Atsisiųskite ir įdiekite „Vagrant“ iš oficialios svetainės. Diegimo programoje yra viskas, ko reikia, kad galėtumėte naudoti komandą vagrant tiesiai iš bet kurio terminalo.
Įdiegę galite patikrinti, ar viskas teisinga, terminale paleisdami šiuos veiksmus:
vagrant --version
Pavyzdžiui, ši komanda turėtų grąžinti įdiegtą versiją Valkata 2.4.0.
1 veiksmas: paruoškite bazinę aplinką
„Vagrant“ yra pagrįsta „dėžutėmis“, kurios yra pagrindiniai iš anksto įdiegtų operacinių sistemų vaizdai. Jie automatiškai atsisiunčiami iš viešojo indekso, žinomo kaip „Vagrant Cloud“. Norėdami pradėti, turite sukurti aplanką, kuriame dirbsite su savo projektu. Pavyzdžiui:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
Ši komanda sugeneruos failą pavadinimu Vagrantfile kur yra visa virtualios mašinos konfigūracija. Jame turėsite pakoreguoti kai kuriuos pagrindinius parametrus, kad galėtumėte naudoti „Hyper-V“.
„Hyper-V“ teikėjo konfigūracija
Pagal numatytuosius nustatymus „Vagrant“ bandys naudoti „VirtualBox“ kaip teikėją. Norėdami naudoti „Hyper-V“, galite tai nurodyti kiekvieną kartą paleisdami:
vagrant up --provider=hyperv
Arba nustatykite „Hyper-V“ kaip numatytąjį teikėją, nustatydami aplinkos kintamąjį:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
Šį veiksmą galima atlikti naudojant „PowerShell“ arba tiesiogiai jūsų sistemos aplinkos kintamuosiuose.
„Vagrantfile“ viduje, Rekomenduojama nurodyti tiekėją su konkrečiais nustatymais. Pagrindinis pavyzdys būtų toks:
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
Šie parametrai leidžia priskirti RAM, branduolių skaičius ir pavadinimas, kurį mašina turės Hyper-V.
Tinklas ir jungiamumas naudojant „Hyper-V“.
Viena iš „Vagrant“ „Hyper-V“ silpnųjų vietų yra ta, kad ji automatiškai nekonfigūruoja tinklo. Dėl šios priežasties turėsite rankiniu būdu pasirinkti vSwitch su išoriniu ryšiu, jau sukurtu Hyper-V.
Norėdami susieti privatų tinklą arba pasirinkti konkretų vSwitch, galite naudoti:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
Turėkite tai omenyje „Hyper-V“ neleidžia tiesiogiai konfigūruoti statinių IP iš „Vagrant“., todėl jie turi būti nustatyti naudojant scenarijus arba modifikuojant svečio operacinės sistemos nustatymus.
Prieiga prie mašinos: SSH ir kiti įrankiai
Nors gali atrodyti, kad SSH negalima naudoti sistemoje „Windows“, „Vagrant“ turi integruotą SSH klientą, todėl galite jį pasiekti neįdiegę papildomų programų.
Prisijungti naudojant:
vagrant ssh
Taip pat galite naudoti PuTTY, bet tokiu atveju jums reikės Konvertuokite „Vagrant“ sugeneruotą privatų raktą į PPK formatą (su PuTTYgen), nes jis nėra tiesiogiai palaikomas. Raktas yra adresu:
.vagrant/machines/default/hyperv/private_key
Tai leis jums prisijungti rankiniu būdu iš bet kurio pageidaujamo SSH kliento.
Aprūpinimas scenarijais
Vienas didžiausių „Vagrant“ privalumų yra jo parama automatinis aprūpinimas scenarijų dėka. Galite paleisti apvalkalo scenarijus pakartotiniam diegimui:
config.vm.provision "shell", path: "bootstrap.sh"
Bylos viduje bootstrap.sh Galite įtraukti instrukcijas, tokias kaip:
apk update
apk add git
Tai veiks pirmą kartą sukuriamas VM. Jei vėliau norite iš naujo pritaikyti scenarijų, galite:
vagrant reload --provision
Darbas su keliomis mašinomis
„Vagrant“ leidžia valdyti daugiau nei vieną įrenginį iš vieno failo. Tai naudinga laboratorijoms ar serverių grupėms. Įprastą laboratorijos sąranką gali sudaryti keli apibrėžimai:
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
Tai leidžia mašinoms atpažinti viena kitą pagal tokius pavadinimus kaip mazgas1.vietinis o meistras.vietinis dėka mDNS naudojimo.
Našumo ir suderinamumo patarimai
„Hyper-V“ našumas paprastai yra geras, tačiau tai priklauso nuo:
- Jūsų priimančiosios komandos galia (RAM, CPU, disko tipas).
- Naudotas pagrindinis vaizdas (geriau naudoti optimizuotas dėžutes).
- Vienu metu veikiančių mašinų skaičius.
- Diferencinis disko naudojimas ir plonas aprūpinimas.
Įprasta kelių aplinkų scenarijų sudarymo praktika yra sukurti a individualizuota dėžutė kuri jau apima visas jūsų kategorijas: įrankius, paslaugas, maršrutus ir tt Taip išvengsite to paties dalyko iš naujo įdiegimo kiekvienu atveju.
„Vagrant“ naudojimas „Hyper-V“ sistemoje „Windows“ yra visiškai perspektyvus, nors su tam tikrais apribojimais, kuriuos galima išspręsti mažais koregavimais. „Hyper-V“ užtikrina tvirtumą ir suderinamumą su šiuolaikinėmis „Microsoft“ technologijomis, o „Vagrant“ palengvina kūrimo aplinkos automatizavimą ir perkeliamumą.
Redaktorius specializuojasi technologijų ir interneto klausimais, turintis daugiau nei dešimties metų patirtį įvairiose skaitmeninėse laikmenose. Esu dirbusi redaktore ir turinio kūrėja elektroninės prekybos, komunikacijos, internetinės rinkodaros ir reklamos įmonėse. Taip pat rašiau ekonomikos, finansų ir kitų sektorių svetainėse. Mano darbas taip pat yra mano aistra. Dabar per mano straipsnius Tecnobits, stengiuosi ištirti visas naujienas ir naujas galimybes, kurias mums kasdien siūlo technologijų pasaulis, kad pagerintume savo gyvenimą.



