หากคุณเป็นนักพัฒนาหรือผู้ดูแลระบบ คุณจะต้องการสปินอัป (spin up) ดิสโทร Linux เพื่อทดสอบอย่างรวดเร็ว มีโซลูชันมากมาย เช่น Docker, VMware, VirtualBox, Vagrant เป็นต้น Multipass เป็นตัวจัดการ VM แบบเบาอีกตัวหนึ่ง ที่ให้คุณเปิดเครื่องเสมือน Ubuntu ได้ง่ายและรวดเร็ว มาดูวิธีทำกัน
วิธีตั้งค่า Multipass
Multipass รองรับ Windows, macOS, และ Linux สำหรับ Windows และ macOS ดาวน์โหลดแพ็กเกจที่เกี่ยวข้องและติดตั้งเหมือนแอปพลิเคชันทั่วไป เพียงทราบว่า Windows ต้องมี VirtualBox หรือ Hyper-V ติดตั้ง Hyper-V รองรับเฉพาะ Windows 10 Pro และ Enterprise หลังติดตั้ง สามารถใช้ multipass จากเทอร์มินัลได้
สำหรับ Linux ติดตั้ง Multipass ผ่าน Snaps ติดตั้ง snapd บนดิสโทรต่างๆ ได้จากคำแนะนำเหล่านี้
เมื่อมี snapd แล้ว ติดตั้ง multipass ด้วย:
sudo snap install multipass --classic
การใช้งาน Multipass
หลังติดตั้ง Multipass เริ่มอินสแตนซ์ได้ด้วย:
multipass launch --name instance-name
โดยค่าเริ่มต้นจะดาวน์โหลด Ubuntu LTS ปัจจุบัน ซึ่ง ณ เวลานี้คือ Ubuntu 20.04 สามารถติดตั้งหลายอินสแตนซ์ด้วยชื่อต่างกัน และเรียกใช้เพื่อวัตถุประสงค์ต่างๆ ดูอินสแตนซ์ที่ติดตั้ง:
multipass list
เริ่มและหยุดอินสแตนซ์ได้ตลอดเวลา:
multipass start instance-name multipass stop instance-name
Multipass อนุญาตให้โต้ตอบและรันคำสั่งภายใน VM ใช้คำสั่ง:
multipass exec instance-name -- sudo apt update
หากต้องการ "เข้าสู่ระบบ" (log in) เข้าไปในอินสแตนซ์ ใช้:
multipass shell instance-name
พิมพ์ exit เพื่อออกจาก shell
กรณีการใช้งาน Multipass
Multipass มีประโยชน์จากมุมมองการพัฒนา เนื่องจากทดสอบโค้ดบน Ubuntu เวอร์ชันต่างๆ ได้รวดเร็ว แต่ยังมีการใช้งานอื่นๆ ที่น่าสนใจ
รันแอปพลิเคชัน GUI ของ Linux บน macOS
ใช้ XQuartz แสดงแอปพลิเคชัน GUI ของ Linux บน macOS ต้องตั้งค่า XQuartz ให้ "Allow connections from network clients" หลังจากนั้น ติดตั้งแอปที่ต้องการ GUI ในอินสแตนซ์ Multipass แล้วสั่งให้ Multipass เปิดแอปโดยชี้ไปที่ IP ของคอมพิวเตอร์
รัน Pi-hole
Pi-hole เป็นเครื่องบล็อกโฆษณาระดับเครือข่ายสำหรับ Linux ที่นิยม สามารถตั้งค่าได้ด้วย Raspberry Pi แต่สะดวกกว่ากับ Multipass เนื่องจากไม่ต้องพึ่งฮาร์ดแวร์อื่น ตั้งค่า Pi-hole บนอินสแตนซ์ Multipass ได้
ตั้งค่า Kubernetes Cluster บน Windows
Kubernetes จัดการ workloads และบริการในคอนเทนเนอร์ ช่วยจัดการทรัพยากรระบบได้มีประสิทธิภาพ ใช้ Multipass ตั้งค่า Microk8s บนอินสแตนซ์ Multipass ทำให้สามารถ deploy คอนเทนเนอร์ด้วย Kubernetes จากเครื่อง Windows ได้
สรุป
Multipass เป็นเครื่องมือที่มีประโยชน์สำหรับตั้งค่า VM Ubuntu อย่างรวดเร็ว ใช้ทดสอบโค้ดโดยไม่ต้องมวกกับระบบปฏิบัติการปัจจุบัน ยังมีการใช้งานจริงอื่นๆ ที่ไม่เกี่ยวกับโค้ด ทำให้ชีวิตสะดวกขึ้น
ทางเลือกอื่น คุณสามารถใช้ Virtual Machine Manager จัดการเครื่องเสมือนใน Linux ได้เช่นกัน