VMs Ubuntu ท้องถิ่นที่รวดเร็วสำหรับนักพัฒนา Mac และ DevOps
Multipass จาก Canonical ให้บริการ "mini-cloud" ที่เบาและท้องถิ่นสำหรับการเริ่มต้นและจัดการ Ubuntu instances บน macOS มันสร้างเครื่องเสมือนเกือบจะทันทีผ่านคำสั่งเดียว โดยใช้ hypervisors ที่เป็นพื้นฐานเพื่อลดภาระทรัพยากรและสะท้อนสภาพแวดล้อมของคลาวด์สาธารณะ เครื่องมือนี้เปิดเผย CLI, การสนับสนุน cloud-init, แคตตาล็อกภาพ Ubuntu ที่คัดสรรมาอย่างดี และการเชื่อมโยงโฟลเดอร์จากโฮสต์ไปยังแขกสำหรับการเข้าถึงไฟล์แบบเรียลไทม์บนสถานีงานและโน้ตบุ๊กท้องถิ่น นักพัฒนา วิศวกร DevOps และนักเรียนจะได้รับ Ubuntu shells ที่รวดเร็วและใช้แล้วทิ้งสำหรับการทดสอบและการเรียนรู้.
ปัญหาที่เป็นรูปธรรมอะไรที่ผู้จัดการ VM นี้แก้ไข?
เครื่องมือสร้างสภาพแวดล้อมบนเครื่องที่สะท้อนการปรับใช้ในคลาวด์ ทำให้ผู้พัฒนาสามารถจัดเตรียมเชลล์ Ubuntu ที่ทำงานได้ด้วยคำสั่งเดียวและเริ่มทำงานในไม่กี่วินาที มันพึ่งพา hypervisors พื้นเมือง, HyperKit บน Intel และ QEMU บน Apple Silicon, เพื่อรักษาการใช้ทรัพยากรของโฮสต์ให้ต่ำในขณะที่ทำให้พฤติกรรมที่เหมือนเซิร์ฟเวอร์เกิดขึ้น นั่นทำให้มันมีประโยชน์สำหรับการทดสอบที่มีอายุสั้น, การจำลองแบบท้องถิ่นของความล้มเหลว CI, และการสร้างหลักฐานแนวคิดอย่างรวดเร็ว.
มันรวมเข้ากับการทำงานของนักพัฒนาและการทำงานอัตโนมัติอย่างไร?
การมุ่งเน้นที่บรรทัดคำสั่งสนับสนุนการทำงานแบบสคริปต์และการรวม CI และการสนับสนุน cloud-init ช่วยให้ทีมสามารถใช้การกำหนดค่าช่วงบูตเดียวกันกับที่ใช้ในคลาวด์ได้ เครื่องมือเปิดเผยการควบคุมทรัพยากรและวงจรชีวิตและการแชร์ไฟล์, ตัวอย่างเช่น:
- ธงทรัพยากร: --cpus, --memory, --disk
- การเข้าถึงไฟล์: multipass mount แผนที่ไดเรกทอรีโฮสต์ไปยังแขก
อินสแตนซ์หลักทำให้คำสั่งซ้ำง่ายขึ้นในขณะที่การดึงภาพอัตโนมัติช่วยให้การเปิดตัว Ubuntu อย่างเป็นทางการพร้อมสำหรับการทดสอบ.มันเหมาะสำหรับนักพัฒนาบน Mac และการตั้งค่าที่มีสถาปัตยกรรมผสมหรือไม่?
การสนับสนุนทั้ง Intel และ Apple Silicon รวมอยู่ด้วย โดยใช้ QEMU บนเครื่อง M-series และ HyperKit บนฮาร์ดแวร์ Intel และผู้ใช้ Apple Silicon รายงานว่าเครื่องเสมือน Ubuntu มีเสถียรภาพภายใต้การตั้งค่านี้ การเริ่มต้นอย่างรวดเร็วและการใช้ทรัพยากรโฮสต์ที่พอเหมาะเหมาะสำหรับการพัฒนาท้องถิ่นแบบวนซ้ำ แม้ว่ารายงานจากชุมชนจะกล่าวถึงความซับซ้อนด้านเครือข่ายเป็นครั้งคราวและผู้ใช้บางคนกำลังมองหาส่วนติดต่อการกำหนดค่า VM แบบกราฟิกสำหรับการปรับแต่งขั้นสูง.
ใครได้ประโยชน์และเมื่อใดควรเลือกผู้จัดการ VM นี้
เครื่องมือนี้เป็นทางเลือกที่เหมาะสมสำหรับนักพัฒนา, วิศวกร DevOps, และสถาปนิกคลาวด์ที่ต้องการสภาพแวดล้อม Ubuntu ที่สามารถทำซ้ำได้และใช้แล้วทิ้งสำหรับการทดสอบในท้องถิ่นและการตรวจสอบความถูกต้องอย่างรวดเร็วของสคริปต์การปรับใช้ นักเรียนและผู้เรียนที่ใช้คำสั่งในบรรทัดคำสั่งก็ได้รับประโยชน์จากความสะดวกที่ต่ำ ทีมที่ต้องการการบริหารจัดการที่ขับเคลื่อนด้วย GUI ที่ลึกซึ้งหรือการจำลองเครือข่ายที่ซับซ้อนควรประเมินไฮเปอร์ไวเซอร์แบบดั้งเดิม; สำหรับงานชั่วคราว, ฝังการดำเนินการวงจรชีวิตของอินสแตนซ์ลงในสคริปต์ทดสอบเพื่อให้สภาพแวดล้อมสามารถตรวจสอบได้.
ข้อดี
- การจัดเตรียม VM ที่รวดเร็วมาก มักจะพร้อมใช้งานภายในเวลาไม่ถึง 30 วินาที
- การสนับสนุน Native hypervisor (HyperKit บน Intel, QEMU บน Apple Silicon)
- การสนับสนุน cloud-init สำหรับการทำงานอัตโนมัติในช่วงเวลาเริ่มต้นของอินสแตนซ์
- การติดตั้งโฟลเดอร์จากโฮสต์ไปยังแขกผ่าน multipass mount เพื่อการเข้าถึงไฟล์แบบสด
ข้อเสีย
- ไม่มีส่วนติดต่อกราฟิก VM แบบเต็มสำหรับการปรับแต่งขั้นสูง
- ความซับซ้อนในการเชื่อมต่อเครือข่ายที่เกิดขึ้นเป็นครั้งคราวซึ่งผู้ใช้รายงาน
- การออกแบบที่เน้น CLI อาจเป็นความท้าทายสำหรับผู้ดูแลระบบที่เน้น GUI