A fost lansat al treilea număr al proiectului Incus, în cadrul căruia comunitatea Linux Containers dezvoltă un fork al sistemului de gestionare a containerelor LXD, creat de vechea echipă de dezvoltatori care a creat odată LXD. Codul Incus este scris în limbajul Go și este distribuit sub licența Apache 2.0.
Reamintim că comunitatea Linux Containers a supervizat dezvoltarea LXD înainte ca compania Canonical să decidă să dezvolte LXD separat ca un proiect de întreprindere. Scopul fork-ului este de a oferi o alternativă gestionată de o comunitate independentă la proiectul LXD, controlat de compania Canonical. În cadrul proiectului Incus se planifică, de asemenea, corectarea unor erori conceptuale care au fost făcute în dezvoltarea LXD, care anterior nu puteau fi remediate fără a afecta compatibilitatea inversă.
Incus oferă instrumente pentru gestionarea centralizată a containerelor și mașinilor virtuale, desfășurate atât pe un singur host, cât și într-un cluster de mai multe. servere. Proiectul este implementat sub forma unui proces de fundal care primește solicitări prin rețea prin REST API și sprijină diferite backend-uri de stocare (arbore de directoare, ZFS, Btrfs, LVM), snapshot-uri cu tăierea stării, migrarea live a containerelor în funcțiune de pe o mașină pe alta și instrumente pentru stocarea imaginilor containerelor. Ca runtime pentru rularea containerelor este folosit setul de instrumente LXC, care include biblioteca liblxc, un set de utilitare (lxc-create, lxc-start, lxc-stop, lxc-ls etc.), șabloane pentru construirea containerelor și un set de legături pentru diferite limbaje de programare. Izolarea se realizează prin mecanismele standard ale nucleului Linux (spații de nume, cgroups, Apparmor, SELinux, Seccomp).
Cele mai notabile schimbări:
- A fost adăugată suport pentru gestionarea autorizării utilizatorilor pe baza modelului Relationship-Based Access Control, realizat prin intermediul unui proces de fundal OpenFGA, responsabil pentru luarea deciziilor privind acordarea utilizatorilor de anumite privilegii. În combinație cu furnizorul OpenID Connect, suportul OpenFGA permite formarea unui stivă deschisă de identificare și autorizare, permițând utilizarea Incus ca o înlocuire completă a configurațiilor LXD cu Canonical RBAC. Pentru configurarea accesului la OpenFGA sunt propuse parametrii openfga.api.token, openfga.api.url, openfga.store.id și openfga.store.model_id.
- A fost îmbunătățită utilitarul lxd-to-incus, automatizând migrarea de la LXD la Incus. În noua versiune a fost adăugat suport pentru distribuții cu sistemul de inițializare OpenRC, a fost implementată posibilitatea de transferare a stocărilor Ceph și rețelelor OVN, asigurându-se înregistrarea jurnalului migrării și crearea de backup-uri.
- În virtuálne mašini A fost adăugat suport pentru conectarea și deconectarea la cald (hot-plug/hot-remove) a căilor de fișiere sau a unor partiții separate, expuse din mediu gazdă. Anterior, o astfel de expunere prin intermediul driverului virtio-fs sau FS 9p necesita oprirea mașinii virtuale. Pentru a ocoli această limitare, a fost folosită capacitatea QEMU de a conecta la cald dispozitive PCI și de a monta calea în cadrul sistemului invitat prin incus-agent.
Sursa: opennet.ro
