6 คะแนน โดย GN⁺ 2024-09-08 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • Ubuntu Multipass เป็นเครื่องมือสำหรับรันและจัดการ Linux virtual machine บนเวิร์กสเตชันได้อย่างรวดเร็ว
    • ใช้งานได้บน Linux, MacOS, Windows
  • เป็นทางเลือกแทน Docker หรือ VirtualBox ที่ใช้งานได้ง่ายและเรียบง่ายกว่า
  • ช่วยให้เวิร์กสเตชันสะอาดอยู่เสมอ และมีประโยชน์ต่อการทดสอบซอฟต์แวร์และการดีพลอย

Multipass ทำงานอย่างไร?

  • สร้างและรัน virtual machine ใหม่: multipass launch --name backend
  • ตรวจสอบสถานะ: multipass info backend
  • รันคำสั่ง: multipass exec backend -- systemctl restart apache
  • เปิด interactive shell session: multipass shell backend
  • แสดงรายการอินสแตนซ์ทั้งหมด: multipass list
  • รีบูต: multipass restart backend
  • ลบอินสแตนซ์: multipass delete backend
  • ยังมีคำสั่งเพิ่มเติม เช่น การเมานต์ไดเรกทอรี (mount) และการคัดลอกไฟล์ (transfer)
  • ดูเอกสารแบบละเอียดได้ที่ที่นี่

ใช้ Multipass ทำอะไรได้บ้าง?

  • virtual machine และ container เป็นเครื่องมือที่มีประโยชน์มากที่สุดอย่างหนึ่งในชุดเครื่องมือของนักพัฒนา
  • สามารถติดตั้งซอฟต์แวร์จาก third party ไว้ในสภาพแวดล้อมที่แยกออกจากกัน เพื่อให้เวิร์กสเตชันสะอาดและพร้อมใช้งานอยู่เสมอ
  • ทดสอบและดีพลอยในสภาพแวดล้อมที่สะอาด เพื่อลดอาการ "เครื่องฉันรันได้ปกตินะ"
  • มีโซลูชันให้เลือกหลายแบบ เช่น Docker, VMWare, VirtualBox, VPS ราคาประหยัด หรืออินสแตนซ์ชั่วคราวบนคลาวด์
  • virtual machine ของ Multipass คือ Ubuntu LTS instance แบบสมบูรณ์
  • ทุกอย่างที่ทำได้บน Ubuntu Linux server ก็ทำได้บน Multipass instance
  • สามารถรันซอฟต์แวร์ในสถานะที่แยกออกจากเวิร์กสเตชันได้
  • สามารถรัน micro instance หลายตัวเพื่อทำ automated integration test ได้
  • สามารถทดสอบ deployment script บนเครื่องโลคัลได้

ข้อดีของ Multipass

Multipass instance รัน Ubuntu LTS แบบสมบูรณ์

  • ทุกอย่างอย่าง nano และ curl พร้อมใช้งานมาให้ตั้งแต่ต้น
  • ใช้เครื่องมือ Linux ที่คุ้นเคยได้ทันที
  • ไม่ต้องเรียนรู้คำสั่งใหม่ ช่วยประหยัดพลังสมองของนักพัฒนา

Multipass instance เชื่อมต่อได้ทันที

  • ทันทีที่รันอินสแตนซ์ ก็เข้าถึง LAN และ WAN ได้
  • การเชื่อมต่อเปิดให้พร้อมโดยไม่ต้องตั้งค่าเพิ่มเติม
  • ไม่จำเป็นต้องกำหนดค่า virtual network เองหรือแมปพอร์ต

Multipass instance มีสถานะแบบต่อเนื่อง

  • Docker container ถูกออกแบบมาให้ใช้งานแบบใช้แล้วทิ้ง
  • ข้อมูลต้องเก็บไว้ใน shared volume
  • Multipass สามารถเมานต์โฟลเดอร์จากโฮสต์เข้าไปยังอินสแตนซ์ได้ด้วยคำสั่ง mount
  • อินสแตนซ์เริ่มต้นจะเมานต์โฮมโฟลเดอร์เป็น ~/Home โดยอัตโนมัติ ทำให้เข้าถึงไฟล์ได้ทันที

จัดการ Multipass instance ได้ง่าย

  • ไวยากรณ์คำสั่งและตัวเลือกมีไม่มาก จดจำได้ง่าย
  • ด้วยความสามารถในการรันคำสั่งและโอนไฟล์ จึงสามารถเขียนสคริปต์เพื่อทำงานอัตโนมัติ เช่น การติดตั้งซอฟต์แวร์ การทดสอบรวมระบบ และงานดีพลอย ได้อย่างง่ายดาย

มี UI ด้วย

  • หากติดตั้ง Multipass บนเครื่อง Linux ที่ใช้ PopOS! จะมี UI แสดงบนแถบด้านบน

หาได้จากที่ไหน?

  • Multipass ใช้งานได้บน Linux, MacOS, Windows
  • บน Linux วิธีที่ดีที่สุดคือติดตั้งด้วย snap
  • บนดิสโทรที่ใช้ Ubuntu เป็นฐาน มีแนวโน้มว่า snap จะถูกติดตั้งมาอยู่แล้ว
  • หากไม่มี ต้องติดตั้ง snap daemon ก่อนผ่าน package manager
  • บนแพลตฟอร์มอื่น สามารถดาวน์โหลดแพ็กเกจติดตั้งที่เหมาะสมได้จากที่นี่

หมายเหตุ

  • หากมีซอฟต์แวร์ VM ตัวอื่น เช่น Oracle VirtualBox กำลังทำงานอยู่ Multipass instance อาจไม่สามารถเริ่มทำงานได้
  • ให้หยุด VirtualBox แล้วลองใหม่อีกครั้ง

สรุปโดย GN⁺

  • Ubuntu Multipass เป็นเครื่องมือจัดการ virtual machine ที่มีประโยชน์สำหรับนักพัฒนาและวิศวกร DevOps
  • Multipass มีประโยชน์มากในการแยกสภาพแวดล้อมการพัฒนาและรักษาความสะอาดของระบบ โดยเฉพาะอย่างยิ่งเพราะสามารถใช้เครื่องมือ Linux ที่หลากหลายได้อย่างง่ายดาย จึงเป็นมิตรกับนักพัฒนา
  • ใช้งานได้ง่ายและเรียบง่ายกว่า Docker หรือ VirtualBox
    • เมื่อเทียบกับ Docker จุดเด่นสำคัญคือการเก็บข้อมูลแบบคงอยู่และการตั้งค่าเครือข่ายที่สะดวกกว่า แต่จุดแข็งด้านความเบาและความเร็วในการดีพลอยของ Docker ก็ยังมองข้ามไม่ได้
  • รัน Ubuntu LTS instance แบบสมบูรณ์ ทำให้ใช้เครื่องมือและคำสั่งที่คุ้นเคยได้ทันที
  • สามารถทดลองสถานการณ์การทดสอบและการดีพลอยได้หลากหลายบนเครื่องโลคัล ช่วยค้นพบและแก้ปัญหาที่อาจเกิดขึ้นในสภาพแวดล้อมจริงได้ล่วงหน้า
  • ใช้งานได้บนหลายแพลตฟอร์มและติดตั้งได้ง่าย

5 ความคิดเห็น

 
savvykang 2024-09-08

ดูจากที่ภายใน ต้องใช้เครื่องมือ virtualization ก็เลยรู้สึกว่าใช้เครื่องมือ virtualization โดยตรงไปเลยน่าจะดีกว่า

 
savvykang 2024-09-08

ต้องติดตั้ง snap จริง ๆ เหรอครับ? ถ้าต้องติดตั้ง snap เพิ่มเพราะเรื่องนี้ ดูเหมือนว่าจะมีแต่เพิ่มจุดที่ต้องดูแลมากขึ้นหรือเปล่านะครับ https://multipass.run/install

 
kaydash 2024-09-08

แทนที่จะจำกัดการใช้แขกเสมือนให้เป็น Ubuntu อย่างเดียว
การใช้ rootless podman บนโฮสต์ของตัวเองจะได้เปรียบกว่า เพราะสามารถใช้ Linux OS หลายแบบ เช่น Ubuntu, Alpine, RHEL, Rocky เป็น guest ได้ จึงรองรับสภาพแวดล้อมสำหรับการดีพลอยที่หลากหลายได้ดีกว่า

 
halfenif 2024-09-08

ไม่จำเป็นต้องเรียนรู้คำสั่งใหม่ จึงช่วยประหยัดพื้นที่สมองของนักพัฒนาได้

แต่ฉันใช้ Manjaro อยู่

 
iolothebard 2024-09-08

Vagrant สำหรับ Ubuntu?