Vagrant

มารู้จัก Vagrant กันเถอะ?

มารู้จักกับ Vagrant กันเถอะ. เอาจริงๆ Vagrant ก็เหมือนการสร้าง VM ...
Vagrant คือโปรดักษ์หนึ่งของค่าย HashiCorp Vagrant ใช้ทำอะไร เป็นอะไร เพื่ออะไร

Vagrant คือโปรดักษ์หนึ่งของค่าย HashiCorp
Vagrant ใช้ทำอะไร เป็นอะไร เพื่ออะไร .

Vagrant ถูกสร้างมาเพื่อจัดการ virtual machine บน Hypervisor ( VMWare,VirtualBox,Hyper-v)
สำหรับสาย SI , DevOPS สิ่งนี้เป็นที่ต้องการเพราะเนื่องจากต้อง Build , Delete , TEST
โดยปรกติทีม SI , Devจะสร้างVM เพื่อทดสอบ Lab จะมีอยู่หลายรูปแบบเช่น 1. virtual machine บน VMWare ในค่ายของ VMWare หรือ Virtual Box ในค่ายของOracle หรือ Hyper-V ในค่ายของ Microsoft
2. ใช้ Docker
ส่วน Vargrant จะอยู่ในส่วนการ Manage ในส่วนของ ข้อ1 ซึ่ง Vagrant ดีอย่างไรนั้น จากการทดสอบคือ โดยเปรียบเทียบในตัวอย่างนี้ ขอยกตัวอย่างเป็น Virtual Box น่ะครับ
โดยปรกติการสร้าง VM ใน Virtual box เราจะสร้างทีละเครื่อง สร้าง Disk , Network Card และ อื่นๆ และกด สร้างVM.
ซึ่งหากในการทดสอบต้องการสร้างVMเป็นจำนวนมาก ทำให้เสียเวลามาก Vagrant ตอบโจทย์เรื่องนี้

Vagrant VS Docker ต่างกันอย่างไร ?
Vagrant เป็นตัว Manage Hyper Vision ?
Docker เป็น Containner การทำงานแตกต่างกัน ?

Vagrant รองรับการติดตั้งโปรแกรมในระบบปฏิบัติการอะไรบ้าง
– MacOS
– Windows
– Debian
– Centos
– Linux

ในส่วนการทำ Lab บน Windows ต้องเตรียมอะไรบ้าง?
– Download Vagrant ที่นี่ https://www.vagrantup.com/downloads
– Download Virtual Box https://www.virtualbox.org/wiki/Downloads
– Download cmder https://cmder.net/

คำสั่งหลักๆของ Vagrant
vagrant init ตามด้วยชื่อ image box
ตัวอย่าง vagrant init ubuntu/trusty64
คือคำสั่งสร้าง Config file สำหรับใช้งาน Box นั้นๆ จะมีชื่อไฟล์ว่า Vagrantfile

หาก Vagrant ไฟล์ที่ระบบสร้างยากต่อการเข้าใจ สามารถสร้างเอกได้น่ะ ใช้ได้หมด แค่เปลี่ยน Box ที่ต้องการใช้งานเท่านั้น ตัวอย่าง Vagrantfile ที่สามารถทำเองได้

Vagrant.configure(2) do |config|
config.vm.box = “ubuntu/trusty64”
config.vm.define :cyber do |cyber_config|
cyber_config.vm.host_name = “cyber”
cyber_config.vm.network “private_network”, ip: “192.168.5.200”
cyber_config.vm.network “private_network”, ip:”192.168.7.151″
cyber_config.vm.provider :virtualbox do |vb|
vb.customize [“modifyvm”, :id, “–memory”, “512”]
vb.customize [“modifyvm”, :id, “–cpus”, “2”]
end
end

end

Download Vagrantfile ได้ที่นี่ : https://drive.google.com/file/d/1wF45I6WVau8p-0SR_8KU76OEsxlU47-A/view?usp=sharing

สำหรับท่านที่ต้องการ Build VM ที่เป็น Windows ให้เพิ่มคำสั่งนี้ vb.gui = true เพื่อให้ GUI สามารถทำงานได้ โดยจะขึ้นหน้า Remote GUI แทน SSH

vagrant box add ตามด้วยชื่อ image box
ตัวอย่าง vagrant box add ubuntu/trusty64
คือคำสั่งสร้าง Download Image box ที่ต้องการใช้งาน มาไว้ที่เครื่องที่จะรัน VM

vagrant box list
คือคำสั่งแสดง Download box list เป้นคำสั่งเรียกดู box image ทั้งหมดในเครื่อง

vagrant up ตามด้วยชื่อ computer name
ตัวอย่าง : vagran up dn03
คือคำสั่ง build vm ใน Virtual box เพื่อใช้งาน

vagrant ssh ตามด้วยชื่อ computer name
ตัวอย่าง : vagrant ssh dn03
คือคำสั่งเข้าใช้งาน VM ผ่าน ssh
จากรูปการเข้าใช้งานสิทธิ์ root ใช้คำสั่ง su -l
ส่วน password default คือ vagrant

vagrant halt ตามด้วยชื่อ computer name
ตัวอย่าง : vagrant halt dn03
คือคำสั่ง shutdown vm

vagrant destroy ตามด้วยชื่อ computer name
ตัวอย่าง : vagrant destroy dn03
คือ คำสั่ง Remove VM ออกจาก Virtual box


สำหรับท่านที่ต้องการหา BOX image สามารถหาได้ที่ลิงค์นี้
https://app.vagrantup.com/boxes/search

สามารถดูชื่อ Image box เพื่อไปใส่ vagrantfile ได้ที่นี่ .

คู่มืออื่นๆสามารถอ่านได้ที่นี่ https://www.vagrantup.com/docs

Comment

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.