អ្វីទៅជា Vagrant?

សព្វថ្ងៃនេះបច្ចេកវិទ្យាកាន់តែរីកចំរើន ជាពិសេស Cloud Computing ដូចជា Virtualization, Platform as a Service, Software as a Service ជាដើមដោយប្រើប្រាស់លីនុចដើម្បីធ្វើជា Operating System។

អ្នកប្រាកដជាយល់មកហើយថាអ្វីទៅជា Vmware, Virtualbox ជាដើមដែលជាប្រភេទ Virtualization ដែលត្រូវបានអ្នកប្រើប្រាស់ក្នុងផ្នែកអាយធីយ៉ាងច្រើនបែបផងដែរ។

តើអ្វីទៅជា Vagrant? ហេតុអ្វីបានត្រូវប្រើប្រាស់វា? តើវាខុសគ្នាដូចម្តេចប្រសិនបើយើងមិនប្រើប្រាស់វា?

នៅពេលដែលយើងប្រើប្រាស់ Virtualbox ធម្មតាយើងត្រូវ តម្លើង Operating System ជាមុនសិន ដើម្បីបាន Operating  System មួយរួចហើយបានយើងចាប់ផ្តើមតម្លើង កម្មវិធីផ្សេងដូចជា Apache Server, Postfix ជាដើម។

ប្រសិនបើ Ope​rating System ខូចនោះអ្នកត្រូវតម្លើង Virtual machine ឡើងវិញ មិនតែប៉ុណ្នោះអ្នកត្រូវ Configure ឡើងវិញ ឬ ប្រសិនបើអ្នកមាន ម៉ាស៊ីនរាប់សិបគ្រឿងត្រូវតម្លើងក្នុងពេលតែមួយអ្នកត្រូវតែតម្លើងម្តងមួយរហូតចប់ និងតម្លើង Apache Server, Postfix ម្តងមួយនៅលើ Virtual machine ទាំង១០០នោះផងដែរ។

Vagrant ជាប្រភេទ box template មួយដែលតូចនិងអាចប្រើប្រាស់លើ Virtualization Server ណាមួយដែលយើងចង់ប្រើប្រាស់ដូចជា យើងត្រូវការប្រើប្រាស់ virtual machine មួយដែលមានទំហំតូចហើយត្រូវការដំណើរការតែកម្មវិធីដ៏តូចមួយប៉ុណ្ណោះ ដូចនេះ មិនចាំបាច់តម្លើងដល់ទៅ Virtual machine ដែលត្រូវការ file ISO និងតម្លើង Package រាប់រយរាប់ពាន់ Package នោះទេ។

Vagrant ជាប្រភេទ box template មួយ ស្រដៀងគ្នាទៅនិង Docker ដែរតែដែលប្រើប្រាស់ Configuration សម្រាប់ Virtual machine ដូចជា puppet, ansible, chef, saltstack ជាដើម។

puppet Configuration management និង Normal Server វាមានមុខងារដូចគ្នាគ្រាន់តែការប្រើប្រាស់ភាសារខុសគ្នាតែប៉ុណ្នោះ ដូចជា ឧទាហរណខាងក្រោមនេះ

នៅលើ Server អ្នកត្រូវប្រើប្រាស់ Command yum  install httpd php ដោយយើងអានថាត្រូវតម្លើង php, httpd server ជាដើម។

តែនៅក្នុង puppet configuration វិញគេអានថា  ត្រូវប្រាកដថា Service httpd, php ត្រូវបានតម្លើងត្រឹមត្រូវ និងសរសេរទៅតាមវេយ្យោករណ៏របស់ puppet។

មុននិងអ្នកតម្លើង Vagrant អ្នកត្រូវតម្លើង Virtual box ផងដែរដើម្បីអោយវាអាចដំណើរការជាមួយគ្នាបាន និងប្រើប្រាស់ puppet, ansible, chef, salstack ជាដើមដើម្បីធ្វើជា Configuration Management សម្រាប់ vagrant box។

cd /etc/yum.repos.d/

wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

ប្រសិនបើអ្នកតម្លើងនៅលើ fedora លីនុចអ្នកអាចតម្លើងដូចខាងក្រោមនេះ

dnf install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms

dnf install VirtualBox-5.0

/usr/lib/virtualbox/vboxdrv.sh setup

usermod -a -G vboxusers username

dnf install vagrant

echo “export VAGRANT_DEFAULT_PROVIDER=virtualbox” >> ~/.bashrc

បន្ទាប់មកទៀតអ្នកត្រូវតម្លើង Virtualization library ផងដែរដោយប្រើប្រាស់ Command ដូចខាងក្រោមនេះ

dnf install -y vagrant vagrant-libvirt libvirt-devel

បន្ទាប់មកទៀតអ្នកអាចតម្លើង Vagrant plugin បានដូចខាងក្រោមនេះ

vagrant plugin install vagrant-cachier

vagrant plugin install vagrant-hostmanager

ចុងក្រោយអ្នកអាចដំណើរការ Vagrant box បានដូចខាងក្រោមនេះ

vagrant init centos/7

ប្រសិនបើយើងចង់ប្រើប្រាស់ជាមួយ Virtualbox អាចសរសេរដូចខាងក្រោមនេះ

vagrant up –provider virtualbox

តែប្រសិនបើយើងចង់ប្រើប្រាស់ជាមួយ Libvirt អ្នកអាចសរសេរដូចខាងក្រោមនេះ

vagrant up –provider libvirt

តែទោះជាយ៉ាងណាការប្រើប្រាស់ Vagrant ជាមួយ Virtualbox ងាយស្រួលជាង។