ការណែនាំពេញលេញក្នុងការដំឡើង និងប្រើប្រាស់ Vagrant នៅលើ Hyper-V នៅក្នុង Windows 11

បច្ចុប្បន្នភាពចុងក្រោយ៖ 08/04/2025
អ្នកនិពន្ធ: ដានីយ៉ែល Terrasa

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

 

បញ្ចូល, រៀបចំបរិស្ថាននិម្មិតយ៉ាងឆាប់រហ័ស និងរបៀបរៀបរយនៅក្នុង 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 ជាដំណោះស្រាយត្រឹមត្រូវតែមួយគត់ ប្រសិនបើយើងមិនចង់បើកដំណើរការ និងបិទសេវាកម្ម។

មាតិកាផ្តាច់មុខ - ចុចទីនេះ  របៀបប្ដូរលេខកូដ Google Play

អត្ថប្រយោជន៍នៃការប្រើប្រាស់ Vagrant ជាមួយ 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 ។

Vagrant នៅលើ Hyper-V

ការកំណត់រចនាសម្ព័ន្ធអ្នកផ្តល់សេវា Hyper-V

តាម​លំនាំដើម, Vagrant នឹងព្យាយាមប្រើ VirtualBox ជាអ្នកផ្តល់សេវា. ដើម្បីប្រើ Hyper-V អ្នកអាចបញ្ជាក់វារាល់ពេលដោយដំណើរការ៖

vagrant up --provider=hyperv

ឬកំណត់ Hyper-V ជាអ្នកផ្តល់លំនាំដើមដោយកំណត់អថេរបរិស្ថាន៖

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

ជំហាននេះអាចត្រូវបានធ្វើពី PowerShell ឬដោយផ្ទាល់នៅក្នុងអថេរបរិស្ថានប្រព័ន្ធរបស់អ្នក។

មាតិកាផ្តាច់មុខ - ចុចទីនេះ  តើអ្នកដំឡើងបច្ចុប្បន្នភាពទៅកម្មវិធី Microsoft Office ពីចម្ងាយដោយរបៀបណា?

នៅខាងក្នុង 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

ការផ្តល់ VMs ជាមួយស្គ្រីប

ធ្វើការជាមួយម៉ាស៊ីនជាច្រើន។

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 ។

មាតិកាផ្តាច់មុខ - ចុចទីនេះ  របៀបលេង Ruzzle ជាភាសាផ្សេងទៀត

ការណែនាំអំពីការអនុវត្ត និងភាពឆបគ្នា។

ដំណើរការ Vagrant នៅលើ Hyper-V ជាទូទៅល្អ ប៉ុន្តែវាអាស្រ័យលើ៖

  • អំណាចនៃក្រុមម្ចាស់ផ្ទះរបស់អ្នក។ (RAM, CPU, ប្រភេទថាស)។
  • រូបភាពមូលដ្ឋានដែលបានប្រើ (ប្រសើរជាងប្រើប្រអប់ដែលបានបង្កើនប្រសិទ្ធភាព) ។
  • ចំនួនម៉ាស៊ីនដែលដំណើរការក្នុងពេលតែមួយ។
  • ការប្រើប្រាស់ឌីផេរ៉ង់ស្យែលឌីផេរ៉ង់ស្យែល និងការផ្តល់ស្តើង។

ការអនុវត្តទូទៅសម្រាប់ការសរសេរស្គ្រីបបរិស្ថានច្រើនគឺបង្កើត a ប្រអប់ផ្ទាល់ខ្លួន ដែលរួមបញ្ចូលប្រភេទរបស់អ្នកទាំងអស់រួចហើយ៖ ឧបករណ៍ សេវាកម្ម ផ្លូវ។

ការប្រើប្រាស់ Vagrant នៅលើ Hyper-V នៅលើ Windows គឺអាចដំណើរការបានទាំងស្រុងទោះបីជាមានដែនកំណត់មួយចំនួនដែលអាចត្រូវបានដោះស្រាយជាមួយនឹងការកែតម្រូវតិចតួចក៏ដោយ។ Hyper-V ផ្តល់នូវភាពរឹងមាំ និងភាពឆបគ្នាជាមួយនឹងបច្ចេកវិទ្យាទំនើបរបស់ Microsoft ខណៈពេលដែល Vagrant ជួយសម្រួលដល់ស្វ័យប្រវត្តិកម្ម និងការចល័តនៃបរិយាកាសអភិវឌ្ឍន៍។