- Vagrant គាំទ្រ Hyper-V ពី Windows 8.1 ឬខ្ពស់ជាងនេះ និងសម្របសម្រួលបរិស្ថានដែលអាចផលិតឡើងវិញបាន។
- ការដំឡើង និងកំណត់រចនាសម្ព័ន្ធ Vagrant នៅលើ Hyper-V តម្រូវឱ្យមានការកំណត់បណ្តាញ និងការផ្តល់ជាក់លាក់។
- Hyper-V មិនអនុញ្ញាតឱ្យមានលក្ខណៈពិសេសមួយចំនួនដូចជា IPs ឋិតិវន្តយ៉ាងងាយស្រួលនោះទេ ប៉ុន្តែមានដំណោះស្រាយបំពេញបន្ថែម
- វាត្រូវបានណែនាំឱ្យប្រើរូបភាព 'ប្រអប់' ដែលត្រូវគ្នាជាមួយ Hyper-V ដើម្បីជៀសវាងកំហុសក្នុងការចាប់ផ្ដើម។

បញ្ចូល, រៀបចំបរិស្ថាននិម្មិតយ៉ាងឆាប់រហ័ស និងរបៀបរៀបរយនៅក្នុង Windows វាហាក់ដូចជាបេសកកម្មដ៏ស្មុគស្មាញមួយ។ ជាសំណាងល្អ យើងមានឧបករណ៍ដូចជា Vagrant នៅលើ Hyper-V ដើម្បីធ្វើឱ្យវាអាចទៅរួច។ ហើយទោះបីជាការប្រើប្រាស់របស់វាមានទំនាក់ទំនងជាមួយ VirtualBox ក៏ដោយ វាក៏អាចប្រើប្រាស់បានយ៉ាងពេញលេញជាមួយនឹងបច្ចេកវិទ្យានិម្មិតនេះ ដែលត្រូវបានដាក់បញ្ចូលទៅក្នុងកំណែជាច្រើនរបស់ Windows ។
ទោះបីជាយ៉ាងណាក៏ដោយ ការដំឡើង និងកំណត់រចនាសម្ព័ន្ធ វ៉ែនតា។ នៅក្នុង Hyper-V វាមិនងាយស្រួលដូចដែលវាហាក់ដូចជានោះទេ។ មាន ជំហានសំខាន់ៗ និងលក្ខណៈពិសេសរបស់អ្នកផ្តល់សេវានិម្មិត Microsoft ដែលអ្នកគួរតែដឹង។ នៅក្នុងអត្ថបទនេះ យើងនឹងផ្តល់ឱ្យអ្នកនូវអ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវការដើម្បីបើកដំណើរការបរិស្ថាននិម្មិតតាមរូបមន្តនេះដោយគ្មានបញ្ហា។
តើ Vagrant ជាអ្វី ហើយហេតុអ្វីត្រូវប្រើ Hyper-V?
វ៉ែនតា។ វាគឺជា ឧបករណ៍ប្រភពបើកចំហ ដែលអនុញ្ញាតឱ្យ បង្កើតបរិស្ថាននិម្មិតដែលអាចផលិតឡើងវិញបាន និងចល័តតាមរយៈឯកសារកំណត់រចនាសម្ព័ន្ធសាមញ្ញ។ វាត្រូវបានរចនាឡើងសម្រាប់អ្នកអភិវឌ្ឍន៍ អ្នកគ្រប់គ្រងប្រព័ន្ធ ឬនរណាម្នាក់ដែលត្រូវការបរិយាកាសស្របគ្នានៅទូទាំងកុំព្យូទ័រ ដោយមានការគាំទ្រសម្រាប់ប្រព័ន្ធប្រតិបត្តិការច្រើន។
ម្យ៉ាងវិញទៀត, Hyper-V គឺជា Hypervisor ដើមរបស់ Microsoftរួមបញ្ចូលនៅក្នុងកំណែ Professional, Enterprise និង Education នៃ Windows 8.1 និងក្រោយ។ វាផ្តល់នូវការអនុវត្តខ្ពស់ និងស្ថេរភាព ជាពិសេសមានប្រយោជន៍នៅពេលដែលភ្នាក់ងារត្រួតពិនិត្យខ្ពស់ផ្សេងទៀតដូចជា VirtualBox ប៉ះទង្គិចនៅក្នុងបរិស្ថាន Windows ទំនើប។
មូលហេតុមួយក្នុងចំណោមហេតុផលទូទៅបំផុតសម្រាប់ការជ្រើសរើស Hyper-V ជំនួសឱ្យ VirtualBox គឺថាផលិតផលមួយចំនួនដូចជា កុំព្យូទ័រលើតុ ឬ WSL2 (ប្រព័ន្ធរងវីនដូសម្រាប់លីនុច) តម្រូវឱ្យបើកដំណើរការ Hyper-V ។ វាបង្កើតភាពមិនឆបគ្នាជាមួយ VirtualBox ដែលធ្វើឱ្យ Hyper-V ជាដំណោះស្រាយត្រឹមត្រូវតែមួយគត់ ប្រសិនបើយើងមិនចង់បើកដំណើរការ និងបិទសេវាកម្ម។
ការដំឡើង Vagrant និងបើក Hyper-V
មុនពេលអ្នកចាប់ផ្តើមប្រើ Vagrant នៅលើ Hyper-V, ត្រូវប្រាកដថាកុំព្យូទ័ររបស់អ្នកបានបើក Hyper-V. សូមប្រយ័ត្ន ព្រោះជាធម្មតាវាមិនត្រូវបានបើកតាមលំនាំដើមទេ។ អ្នកអាចធ្វើវាដោយដៃពីផ្នែក "បើកមុខងារវីនដូ" ឬដោយប្រើពាក្យបញ្ជាខាងក្រោមនៅក្នុង PowerShell (ជាអ្នកគ្រប់គ្រង)៖
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
បន្ទាប់ពីប្រតិបត្តិពាក្យបញ្ជានេះ តម្រូវឱ្យចាប់ផ្ដើមកុំព្យូទ័រឡើងវិញ សម្រាប់ការផ្លាស់ប្តូរមានប្រសិទ្ធិភាព។
ស្របគ្នាអ្នកត្រូវតែ ទាញយក និងដំឡើង Vagrant ពីគេហទំព័រផ្លូវការ. កម្មវិធីដំឡើងរួមបញ្ចូលអ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវការដើម្បីអាចប្រើពាក្យបញ្ជា vagrant ដោយផ្ទាល់ពីស្ថានីយណាមួយ។
នៅពេលដំឡើងរួច អ្នកអាចផ្ទៀងផ្ទាត់ថាអ្វីគ្រប់យ៉ាងត្រឹមត្រូវដោយដំណើរការដូចខាងក្រោមនៅក្នុងស្ថានីយ៖
vagrant --version
ពាក្យបញ្ជានេះគួរតែត្រឡប់កំណែដែលបានដំឡើងឧទាហរណ៍ វិកលចរិត ១.
ជំហានទី 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 ឬដោយផ្ទាល់នៅក្នុងអថេរបរិស្ថានប្រព័ន្ធរបស់អ្នក។
នៅខាងក្នុង Vagrantfile, វាត្រូវបានផ្ដល់អនុសាសន៍ឱ្យបញ្ជាក់អ្នកផ្តល់សេវាជាមួយនឹងការកំណត់ជាក់លាក់. ឧទាហរណ៍ជាមូលដ្ឋាននឹងមានៈ
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
ប៉ារ៉ាម៉ែត្រទាំងនេះអនុញ្ញាតឱ្យអ្នកកំណត់ RAM ចំនួនស្នូល និងឈ្មោះដែលម៉ាស៊ីននឹងមាននៅក្នុង 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 គឺការគាំទ្ររបស់វាសម្រាប់ ការផ្តល់ដោយស្វ័យប្រវត្តិ សូមអរគុណដល់ស្គ្រីប. អ្នកអាចបើកដំណើរការស្គ្រីបសែលសម្រាប់ការដំឡើងឡើងវិញបាន៖
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
នេះអនុញ្ញាតឱ្យម៉ាស៊ីនសម្គាល់គ្នាទៅវិញទៅមកតាមឈ្មោះដូចជា node1.local o master.local សូមអរគុណចំពោះការប្រើប្រាស់ mDNS ។
ការណែនាំអំពីការអនុវត្ត និងភាពឆបគ្នា។
ដំណើរការ Vagrant នៅលើ Hyper-V ជាទូទៅល្អ ប៉ុន្តែវាអាស្រ័យលើ៖
- អំណាចនៃក្រុមម្ចាស់ផ្ទះរបស់អ្នក។ (RAM, CPU, ប្រភេទថាស)។
- រូបភាពមូលដ្ឋានដែលបានប្រើ (ប្រសើរជាងប្រើប្រអប់ដែលបានបង្កើនប្រសិទ្ធភាព) ។
- ចំនួនម៉ាស៊ីនដែលដំណើរការក្នុងពេលតែមួយ។
- ការប្រើប្រាស់ឌីផេរ៉ង់ស្យែលឌីផេរ៉ង់ស្យែល និងការផ្តល់ស្តើង។
ការអនុវត្តទូទៅសម្រាប់ការសរសេរស្គ្រីបបរិស្ថានច្រើនគឺបង្កើត a ប្រអប់ផ្ទាល់ខ្លួន ដែលរួមបញ្ចូលប្រភេទរបស់អ្នកទាំងអស់រួចហើយ៖ ឧបករណ៍ សេវាកម្ម ផ្លូវ។
ការប្រើប្រាស់ Vagrant នៅលើ Hyper-V នៅលើ Windows គឺអាចដំណើរការបានទាំងស្រុងទោះបីជាមានដែនកំណត់មួយចំនួនដែលអាចត្រូវបានដោះស្រាយជាមួយនឹងការកែតម្រូវតិចតួចក៏ដោយ។ Hyper-V ផ្តល់នូវភាពរឹងមាំ និងភាពឆបគ្នាជាមួយនឹងបច្ចេកវិទ្យាទំនើបរបស់ Microsoft ខណៈពេលដែល Vagrant ជួយសម្រួលដល់ស្វ័យប្រវត្តិកម្ម និងការចល័តនៃបរិយាកាសអភិវឌ្ឍន៍។
កម្មវិធីនិពន្ធដែលមានឯកទេសខាងបច្ចេកវិទ្យា និងបញ្ហាអ៊ីនធឺណិតដែលមានបទពិសោធន៍ជាងដប់ឆ្នាំនៅក្នុងប្រព័ន្ធផ្សព្វផ្សាយឌីជីថលផ្សេងៗគ្នា។ ខ្ញុំបានធ្វើការជាអ្នកកែសម្រួល និងអ្នកបង្កើតមាតិកាសម្រាប់ពាណិជ្ជកម្មអេឡិចត្រូនិក ការទំនាក់ទំនង ទីផ្សារអនឡាញ និងក្រុមហ៊ុនផ្សាយពាណិជ្ជកម្ម។ ខ្ញុំក៏បានសរសេរនៅលើគេហទំព័រ សេដ្ឋកិច្ច ហិរញ្ញវត្ថុ និងវិស័យផ្សេងៗទៀត។ ការងាររបស់ខ្ញុំក៏ជាចំណង់ចំណូលចិត្តរបស់ខ្ញុំដែរ។ ឥឡូវនេះតាមរយៈអត្ថបទរបស់ខ្ញុំនៅក្នុង Tecnobitsខ្ញុំព្យាយាមស្វែងរកព័ត៌មាន និងឱកាសថ្មីៗទាំងអស់ ដែលពិភពបច្ចេកវិទ្យាផ្តល់ជូនយើងជារៀងរាល់ថ្ងៃ ដើម្បីកែលម្អជីវិតរបស់យើង។



