Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

เริ่มต้นใช้งาน Vagrant บน Linux

ระบบปฏิบัติการสมัยใหม่ รวมถึง Linux พัฒนามาเพื่อนำ virtualization มาสู่ PC ทั่วไป การรันหลาย OS ผ่าน hypervisor ช่วยให้ developers, system admins, และ tinkerers สร้าง virtual environments เล็กๆ ที่ทิ้งทิ้งได้ (dispensable) เพื่อทดสอบและเรียนรู้ จน virtualization ยิ่งนิยมขึ้น ซอฟต์แวร์ที่สัญญาจะทำให้ชีวิตง่ายขึ้นก็เพิ่มขึ้น Vagrant เป็นหนึ่งในนั้น วันนี้เราจะพูดถึงการเริ่มต้น Vagrant บน Linux: Vagrant คืออะไร, ติดตั้งบนระบบหลัก (base system) ยังไง, และมันมีประโยชน์อย่างไร

Vagrant คืออะไร

Vagrant เป็น tool ที่ทำงานกับ virtualization software เช่น VirtualBox และ VMware ให้วิธีง่ายๆ สำหรับสร้าง, กำหนดค่า, และ reproduce virtual machines ด้วย known state อนุญาตให้ pre-configured VMs (boxes) ดึงจาก Vagrant Cloud, initialize, และรันบนระบบของคุณ ทำให้ใครก็ตามดึง image ลงมา รันคำสั่งง่ายๆ 2-3 คำสั่ง ได้ virtual server มาเล่นได้

ติดตั้ง Vagrant

ดาวน์โหลด zip file จากหน้า Downloads Extract หา app image ทำให้ executable และรัน

ทางเลือก ติดตั้งผ่าน repository ของ distro:

Ubuntu/Debian/Ubuntu-based distros:

sudo apt install vagrant

Fedora:

sudo dnf install vagrant

Vagrant ทำงานกับ Hyper-V, VMWare, Parallels, VirtualBox, และ libvirt สำหรับ tutorial นี้ใช้ libvirt (ดูวิธีตั้งค่า libvirt) เพราะเป็น hypervisor built-in ใน Linux Kernel

ติดตั้ง Vagrant libvirt provider:

sudo apt install vagrant-libvirt

หรือ

vagrant plugin install vagrant-libvirt

เริ่ม Vagrant Box แรก

เพื่อให้ Vagrant ทำงาน ต้อง add box, สร้างไดเรกทอรีสำหรับ VM, และรันคำสั่ง Vagrant 2 คำสั่ง: initialize และ start VM

เพิ่ม box เข้าระบบ:

vagrant box add centos/7 --provider=libvirt

ระบุ provider เป็นแฟล็ก หา box เพิ่มเติมได้ที่นี่

สร้างไดเรกทอรีและ cd เข้าไป:

mkdir vagrant-test
cd vagrant-test

Initialize Vagrant:

vagrant init centos/7

ระหว่าง initialization Vagrant สร้างไฟล์ "Vagrantfile" ใน current working directory (เช่น vagrant-test1) สร้างไดเรกทอรีและ initialize Vagrant ได้หลายครั้ง แต่ละไดเรกทอรีและ Vagrantfile แทน VM หนึ่งตัว VM หลายตัวอาจ base จาก box เดียวกัน (เช่น precise32) หรือ box ต่างกัน

เริ่ม VM:

vagrant up

บูทเสร็จ VM รันใน headless mode (ไม่มี monitor หรือ virtual screen) เชื่อมต่อได้แค่ผ่าน SSH ทำได้ผ่าน SSH client ธรรมดาจากเครื่องอื่นใน network หรือใช้คำสั่ง ssh built-in หากใช้ SSH client อื่น โปรดทราบ IP ที่ถูกต้องคือ IP ของ host machine (PC ที่รัน Vagrant และ provider) แต่มันเป็น port อื่น ระหว่างบูท Vagrant จะแสดงว่า port 22 (SSH) ถูก forward ไป port ไหน น่าจะเป็น 2222

ใช้คำสั่ง ssh built-in:

vagrant ssh

ตอนนี้เชื่อมต่อกับ VM แล้ว ออกจาก SSH connection: พิมพ์ "exit" หรือกด Ctrl + D

หยุด Vagrant Box แรก

หยุด VM ที่รันอยู่:

vagrant halt

ลบ VM:

vagrant destroy

เมื่อ VM ถูก destroy base OS (จาก .box file) ยังคงเก็บอยู่ภายใน Vagrant VM ใหม่สามารถเริ่มได้เมื่อไรก็ตามโดย Vagrant ไม่ต้องดาวน์โหลด .box file ซ้ำ

เพียง 2 คำสั่ง (vagrant init และ vagrant up) Vagrant ให้คุณบูท virtual Linux machine ที่ทำงานเต็มรูปแบบ เข้าถึงได้ผ่าน SSH การตั้งค่าขั้นสูงผ่าน Vagrantfile รายละเอียดเพิ่มเติมในเอกสาร Vagrant

ดู virtualization content อื่นๆ ของเรา เช่น virtualization คืออะไร ทำไมควรใช้ และ เริ่มต้น Virtual Machine Manager บน Linux