โครงการ Incus ฉบับที่สามได้ถูกนำเสนอแล้ว โดยเป็นโครงการที่มุ่งเน้นการมีส่วนร่วมของชุมชน Linux Containers คือโปรแกรมที่แตกแขนงมาจากระบบจัดการคอนเทนเนอร์ LXD โดยทีมพัฒนาเดิมที่สร้าง LXD ขึ้นมา Containers เขียนด้วยภาษา Go และได้รับอนุญาตภายใต้สัญญาอนุญาต Apache 2.0
ขอเตือนท่านอีกครั้งว่าชุมชน Linux Containers เคยดูแลการพัฒนา LXD ก่อนที่ Canonical จะตัดสินใจพัฒนา LXD แยกต่างหากในฐานะโครงการของบริษัท เป้าหมายของการแยกโครงการนี้คือการจัดหาทางเลือกที่เป็นอิสระและขับเคลื่อนโดยชุมชนเพื่อทดแทนโครงการ LXD ที่อยู่ภายใต้การควบคุมของ Canonical โครงการ Incus ยังวางแผนที่จะแก้ไขข้อผิดพลาดเชิงแนวคิดบางประการที่เกิดขึ้นระหว่างการพัฒนา LXD ซึ่งก่อนหน้านี้ไม่สามารถแก้ไขได้โดยไม่ทำลายความเข้ากันได้กับเวอร์ชันก่อนหน้า
Incus นำเสนอเครื่องมือสำหรับการจัดการแบบรวมศูนย์ของคอนเทนเนอร์และเครื่องเสมือนที่ติดตั้งใช้งานทั้งบนโฮสต์เดียวและในคลัสเตอร์หลายเครื่อง เซิร์ฟเวอร์โครงการนี้ถูกนำไปใช้ในรูปแบบกระบวนการทำงานเบื้องหลังที่รับคำขอเครือข่ายผ่าน REST API และรองรับระบบจัดเก็บข้อมูลหลายรูปแบบ (โครงสร้างไดเร็กทอรี, ZFS, Btrfs, LVM) การสร้างสแนปช็อตด้วยสไลซ์สถานะ การย้ายคอนเทนเนอร์ที่กำลังทำงานอยู่จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งแบบเรียลไทม์ และเครื่องมือสำหรับการจัดเก็บอิมเมจคอนเทนเนอร์ ชุดเครื่องมือ LXC ถูกใช้เป็นรันไทม์สำหรับการเรียกใช้คอนเทนเนอร์ ซึ่งประกอบด้วยไลบรารี liblxc ชุดยูทิลิตี้ (lxc-create, lxc-start, lxc-stop, lxc-ls เป็นต้น) เทมเพลตสำหรับการสร้างคอนเทนเนอร์ และชุดการเชื่อมต่อสำหรับภาษาโปรแกรมต่างๆ การแยกส่วนทำได้โดยใช้กลไกมาตรฐานของเคอร์เนล Linux (เนมสเปซ, ซีกรุ๊ป, แอพอาร์มอร์, เอสอี)Linux(เซคคอมป์)
การเปลี่ยนแปลงที่เห็นได้ชัดเจนที่สุด:
- เพิ่มการสนับสนุนสำหรับการจัดการการอนุญาตผู้ใช้ตามโมเดลการควบคุมการเข้าถึงตามความสัมพันธ์ ซึ่งใช้งานโดยใช้กระบวนการเบื้องหลังของ OpenFGA ซึ่งมีหน้าที่รับผิดชอบในการตัดสินใจในการให้สิทธิ์แก่ผู้ใช้ เมื่อรวมกับผู้ให้บริการ OpenID Connect การสนับสนุน OpenFGA จะสร้างข้อมูลประจำตัวแบบเปิดและการอนุญาตสแต็กที่ช่วยให้ Incus สามารถใช้แทนการกำหนดค่า LXD ด้วย Canonical RBAC ได้อย่างสมบูรณ์ ในการกำหนดค่าการเข้าถึง OpenFGA จะมีการเสนอพารามิเตอร์ต่อไปนี้: openfga.api.token, openfga.api.url, openfga.store.id และ openfga.store.model_id
- ปรับปรุงยูทิลิตี้ lxd-to-incus ซึ่งทำให้การโยกย้ายจาก LXD ไปยัง Incus เป็นแบบอัตโนมัติ เวอร์ชันใหม่เพิ่มการรองรับการกระจายด้วยระบบการเริ่มต้น OpenRC ใช้ความสามารถในการโยกย้ายพื้นที่เก็บข้อมูล Ceph และเครือข่าย OVN และจัดให้มีการบันทึกการย้ายและการสร้างสำเนาสำรอง
- В เครื่องเสมือน добавлена поддержка горячего подключения и горячего удаления (hot-plug/hot-remove) файловых путей или отдельных разделов, проброшенных из хост-окружения. Ранее подобный проброс при помощи драйвера virtio-fs или ФС 9p требовал остановки виртуальной машины. Для обхода этого ограничения задействована возможность QEMU по горячему подключению PCI-устройств и монтирование пути внутри гостевой системы через incus-agent.
ที่มา: opennet.ru
