សព្វថ្ងៃនេះបច្ចេកវិទ្យាកាន់តែរីកចំរើន ជាពិសេស 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 ជាដើម។
ប្រសិនបើ Operating 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 ងាយស្រួលជាង។