- Vagrant მხარს უჭერს Hyper-V-ს Windows 8.1 ან უფრო მაღალი ვერსიიდან და ხელს უწყობს რეპროდუცირებადი გარემოს
- Vagrant-ის Hyper-V-ზე ინსტალაცია და კონფიგურაცია მოითხოვს სპეციფიურ ქსელურ და უზრუნველყოფის პარამეტრებს.
- Hyper-V არ იძლევა გარკვეულ მახასიათებლებს, როგორიცაა სტატიკური IP-ები, მაგრამ არსებობს დამატებითი გადაწყვეტილებები
- ჩატვირთვის შეცდომების თავიდან ასაცილებლად რეკომენდებულია Hyper-V თავსებადი "box" სურათების გამოყენება.

შეყვანა, Windows-ში სწრაფად და მოწესრიგებულად დააყენეთ ვირტუალური გარემო როგორც ჩანს, რთული მისიაა. საბედნიეროდ, ჩვენ გვაქვს ინსტრუმენტები, როგორიცაა მაწანწალა Hyper-V-ზე რათა შესაძლებელი გახდეს. და მიუხედავად იმისა, რომ მისი გამოყენება უფრო მეტად ასოცირდება VirtualBox-თან, ის ასევე სრულად თავსებადია ამ ვირტუალიზაციის ტექნოლოგიასთან, რომელიც უკვე ინტეგრირებულია Windows-ის ბევრ ვერსიაში.
ამის მიუხედავად, ინსტალაცია და კონფიგურაცია ვაგროანტი Hyper-V-ში ეს არც ისე ადვილია, როგორც ჩანს. არსებობს ძირითადი ნაბიჯები და Microsoft-ის ვირტუალიზაციის პროვაიდერის თავისებურებები, რომლებიც უნდა იცოდეთ. ამ სტატიაში ჩვენ მოგაწვდით ყველაფერს, რაც გჭირდებათ ამ ფორმულის მიხედვით ვირტუალური გარემოს უპრობლემოდ გასაშვებად.
რა არის Vagrant და რატომ გამოვიყენოთ Hyper-V?
ვაგროანტი არის ღია წყაროს ინსტრუმენტი რომელიც საშუალებას შექმენით რეპროდუცირებადი და პორტატული ვირტუალური გარემო მარტივი კონფიგურაციის ფაილების მეშვეობით. ის განკუთვნილია დეველოპერებისთვის, სისტემის ადმინისტრატორებისთვის ან ყველასთვის, ვისაც სჭირდება კომპიუტერების თანმიმდევრული გარემო, მრავალი ოპერაციული სისტემის მხარდაჭერით.
თავის მხრივ, Hyper-V არის Microsoft-ის მშობლიური ჰიპერვიზორი, შედის Windows 8.1 და უფრო ახალი ვერსიების პროფესიონალურ, საწარმოთა და საგანმანათლებლო ვერსიებში. ის გთავაზობთ მაღალ შესრულებას და სტაბილურობას, განსაკუთრებით სასარგებლოა, როდესაც სხვა ჰიპერვიზორები, როგორიცაა VirtualBox კონფლიქტი თანამედროვე Windows გარემოში.
არჩევანის ერთ-ერთი ყველაზე გავრცელებული მიზეზი ჰიპერ- V ნაცვლად VirtualBox არის ის, რომ ზოგიერთი პროდუქტი, როგორიცაა დოკერის სამუშაო მაგიდა ან WSL2 (Windows Subsystem for Linux), საჭიროებს Hyper-V-ის ჩართვას. ეს ქმნის შეუთავსებლობას VirtualBox-თან, რაც Hyper-V-ს ერთადერთ მოქმედ გადაწყვეტად აქცევს, თუ არ გვინდა სერვისების გააქტიურება და გამორთვა.
Vagrant-ის ინსტალაცია და Hyper-V-ის ჩართვა
სანამ დაიწყებთ Vagrant-ის გამოყენებას Hyper-V-ზე, დარწმუნდით, რომ თქვენს კომპიუტერში ჩართულია Hyper-V. იყავით ფრთხილად, რადგან ის ჩვეულებრივ არ არის ჩართული ნაგულისხმევად. ამის გაკეთება შეგიძლიათ ხელით "Windows-ის ფუნქციების ჩართვა" განყოფილებიდან ან შემდეგი ბრძანებით PowerShell-ში (როგორც ადმინისტრატორი):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
ამ ბრძანების შესრულების შემდეგ, საჭიროა კომპიუტერის გადატვირთვა ცვლილებები ძალაში შედის.
პარალელურად, თქვენ უნდა ჩამოტვირთეთ და დააინსტალირეთ Vagrant ოფიციალური ვებსაიტიდან. ინსტალერი შეიცავს ყველაფერს, რაც გჭირდებათ ბრძანების გამოსაყენებლად vagrant პირდაპირ ნებისმიერი ტერმინალიდან.
ინსტალაციის შემდეგ, შეგიძლიათ შეამოწმოთ, რომ ყველაფერი სწორია ტერმინალში შემდეგი მოქმედებების გაშვებით:
vagrant --version
ამ ბრძანებამ უნდა დააბრუნოს დაინსტალირებული ვერსია, მაგალითად ვაგრანტი 2.4.0.
ნაბიჯი 1: მოამზადეთ საბაზისო გარემო
Vagrant დაფუძნებულია "ყუთებზე", რომლებიც არის წინასწარ დაინსტალირებული ოპერაციული სისტემების საბაზისო გამოსახულებები. ისინი ავტომატურად იტვირთება საჯარო ინდექსიდან, რომელიც ცნობილია როგორც Vagrant Cloud. დასაწყებად, თქვენ უნდა შექმნათ საქაღალდე, სადაც იმუშავებთ თქვენს პროექტზე. მაგალითად:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
ეს ბრძანება გამოიმუშავებს ფაილს სახელად Vagrantfile სადაც არის მთელი ვირტუალური მანქანის კონფიგურაცია. მასში თქვენ მოგიწევთ რამდენიმე ძირითადი პარამეტრის რეგულირება Hyper-V-ის გამოსაყენებლად.
Hyper-V პროვაიდერის კონფიგურაცია
სტანდარტულად, Vagrant შეეცდება გამოიყენოს VirtualBox, როგორც პროვაიდერი. Hyper-V-ის გამოსაყენებლად, შეგიძლიათ მიუთითოთ ეს ყოველ ჯერზე გაშვებით:
vagrant up --provider=hyperv
ან დააყენეთ Hyper-V ნაგულისხმევ პროვაიდერად გარემოს ცვლადის დაყენებით:
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
ეს ნაბიჯი შეიძლება გაკეთდეს PowerShell-იდან ან პირდაპირ თქვენი სისტემის გარემოს ცვლადებში.
მაწანწალა ფაილში, მიზანშეწონილია მიუთითოთ პროვაიდერი კონკრეტული პარამეტრებით. ძირითადი მაგალითი იქნება:
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
ეს პარამეტრები საშუალებას გაძლევთ დანიშნოთ ოპერატიული მეხსიერება, ბირთვების რაოდენობა და სახელწოდება, რომელსაც მანქანა ექნება Hyper-V-ში.
ქსელი და კავშირი Hyper-V-ში
Hyper-V-ის ერთ-ერთი სუსტი წერტილი Vagrant-ში არის ის, რომ ის ავტომატურად არ ახდენს ქსელის კონფიგურაციას. ამ მიზეზით, თქვენ მოგიწევთ ხელით აირჩიოთ vSwitch გარე კავშირით უკვე შექმნილი Hyper-V-ში.
კერძო ქსელის დასაკავშირებლად ან კონკრეტული vSwitch-ის ასარჩევად, შეგიძლიათ გამოიყენოთ:
config.vm.network "private_network", bridge: "NombreDelvSwitch"
გაითვალისწინეთ Hyper-V არ გაძლევთ საშუალებას პირდაპირ დააკონფიგურიროთ სტატიკური IP-ები Vagrant-ისგან., ამიტომ ისინი უნდა დაყენდეს სკრიპტების გამოყენებით ან სტუმრის ოპერაციული სისტემის პარამეტრების შეცვლით.
მანქანაზე წვდომა: SSH და სხვა ხელსაწყოები
მიუხედავად იმისა, რომ შეიძლება ჩანდეს, რომ SSH არ შეიძლება გამოყენებულ იქნას Windows-ზე, Vagrant მოიცავს ჩაშენებულ SSH კლიენტს, ასე რომ თქვენ შეგიძლიათ მასზე წვდომა დამატებითი პროგრამების დაყენების გარეშე.
შესვლა შემდეგით:
vagrant ssh
თქვენ ასევე შეგიძლიათ გამოიყენოთ PuTTY, მაგრამ ამ შემთხვევაში დაგჭირდებათ გადააკეთეთ Vagrant-ის მიერ გენერირებული პირადი გასაღები PPK ფორმატში (PUTTYgen-თან ერთად), რადგან ის პირდაპირ არ არის მხარდაჭერილი. გასაღები მდებარეობს:
.vagrant/machines/default/hyperv/private_key
ეს საშუალებას მოგცემთ ხელით დააკავშიროთ თქვენთვის სასურველი ნებისმიერი SSH კლიენტი.
სკრიპტებით უზრუნველყოფა
Vagrant-ის ერთ-ერთი ყველაზე დიდი უპირატესობა მისი მხარდაჭერაა ავტომატური უზრუნველყოფა, სკრიპტების წყალობით. თქვენ შეგიძლიათ გაუშვათ shell სკრიპტები განმეორებადი ინსტალაციისთვის:
config.vm.provision "shell", path: "bootstrap.sh"
ფაილის შიგნით bootstrap.sh თქვენ შეგიძლიათ შეიყვანოთ ინსტრუქციები, როგორიცაა:
apk update
apk add git
ეს გაგრძელდება პირველად შეიქმნა VM. თუ გსურთ სკრიპტის ხელახლა გამოყენება მოგვიანებით, შეგიძლიათ გააკეთოთ:
vagrant reload --provision
მრავალ მანქანასთან მუშაობა
Vagrant გაძლევთ საშუალებას მართოთ ერთზე მეტი მანქანა ერთი ფაილიდან. ეს სასარგებლოა ლაბორატორიებისთვის ან სერვერების კლასტერებისთვის. ლაბორატორიის ტიპიური კონფიგურაცია შეიძლება შეიცავდეს რამდენიმე განმარტებას:
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
ეს საშუალებას აძლევს მანქანებს ამოიცნონ ერთმანეთი ისეთი სახელებით, როგორიცაა კვანძი1.ლოკალური o ოსტატი.ადგილობრივი mDNS-ის გამოყენების წყალობით.
შესრულებისა და თავსებადობის რჩევები
Hyper-V-ზე მაწანწალა შესრულება ზოგადად კარგია, მაგრამ ეს დამოკიდებულია:
- თქვენი მასპინძელი გუნდის ძალა (RAM, CPU, დისკის ტიპი).
- გამოყენებული ბაზის სურათი (უმჯობესია გამოიყენოთ ოპტიმიზებული ყუთები).
- ერთდროულად მომუშავე მანქანების რაოდენობა.
- დიფერენციალური დისკის გამოყენება და თხელი უზრუნველყოფა.
მრავალი გარემოს სკრიპტირების საერთო პრაქტიკა არის ა პერსონალური ყუთი ეს უკვე მოიცავს თქვენს ყველა კატეგორიას: ხელსაწყოებს, სერვისებს, მარშრუტებს და ა.შ.
Windows-ზე Hyper-V-ზე Vagrant-ის გამოყენება სრულიად სიცოცხლისუნარიანია, თუმცა გარკვეული შეზღუდვებით, რომლებიც შეიძლება გადაიჭრას მცირე კორექტირებით. Hyper-V უზრუნველყოფს გამძლეობას და თავსებადობას Microsoft-ის თანამედროვე ტექნოლოგიებთან, ხოლო Vagrant ხელს უწყობს განვითარების გარემოს ავტომატიზაციას და პორტაბელურობას.
რედაქტორი სპეციალიზირებულია ტექნოლოგიებისა და ინტერნეტის საკითხებში, ათ წელზე მეტი გამოცდილებით სხვადასხვა ციფრულ მედიაში. ვმუშაობდი რედაქტორად და კონტენტის შემქმნელად ელექტრონული კომერციის, კომუნიკაციის, ონლაინ მარკეტინგისა და სარეკლამო კომპანიებისთვის. მე ასევე ვწერდი ეკონომიკის, ფინანსების და სხვა სექტორების ვებსაიტებზე. ჩემი საქმეც ჩემი გატაცებაა. ახლა, ჩემი სტატიების მეშვეობით Tecnobits, ვცდილობ გამოვიკვლიო ყველა სიახლე და ახალი შესაძლებლობები, რომლებსაც ტექნოლოგიების სამყარო გვთავაზობს ყოველდღიურად ჩვენი ცხოვრების გასაუმჯობესებლად.



