Prezantimi i numrit të tretë të projektit Incus, në kuadër të të cilit komuniteti i Linux Containers po zhvillon një fork të sistemit të menaxhimit të konteinerëve LXD, i krijuar nga ekipi i vjetër i zhvilluesve që njëherë e krijoi LXD. Kodi i Incus është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
Kujtojmë se komuniteti i Linux Containers ka drejtuar zhvillimin e LXD para se kompanisë Canonical t'i vendosë që ta zhvillojë LXD si një projekt të veçantë përndryshe. Qëllimi i forkut është ofrimi i një alternative të menaxhuar nga një komunitet të pavarur për projektin LXD, i cili është nën kontrollin e kompanisë Canonical. Në kuadër të projektit Incus, planifikohet gjithashtu të korrigjohen disa gabime konceptuale që ishin bërë gjatë zhvillimit të LXD, të cilat më parë ishin të pamundura për t'u rregulluar pa ndikuar në përputhshmërinë mbrapa.
Incus ofron mjete për menaxhim të centralizuar të kontejnerëve dhe makinerive virtuale të vendosura si në një host ashtu edhe në një klaster prej disa. servera. Projekti është implementuar si një proces në sfond, duke pranuar kërkesat përmes rrjetit përmes REST API dhe duke mbështetur blloqet e ndryshme të ruajtjes (tree directories, ZFS, Btrfs, LVM), snapshot me prerjen e gjendjes, migrimin live të kontejnerëve në funksionim nga një makinë në tjetrën dhe mjete për ruajtjen e imazheve të kontejnerëve. Si runtime për ekzekutimin e konteinerëve përdoret mjeti LXC, i cili përfshin bibliotekën liblxc, një grup mjetesh (lxc-create, lxc-start, lxc-stop, lxc-ls, etj.), shabllona për ndërtimin e kontejnerëve dhe një grup lidhjesh për gjuhë të ndryshme programuese. Izolimi realizohet duke përdorur mekanizmat standard të kernelit Linux (hapësirat e emrave, cgroups, Apparmor, SELinux, Seccomp).
Ndryshimet më të dukshme:
- Shtuar mbështetje për menaxhimin e autorizimit të përdoruesve bazuar në modelin e Kontrollit të Aksesit të Bazuar në Marrëdhënie, i implementuar përmes një procesi të prapme OpenFGA, përgjegjës për marrjen e vendimeve për dhënien e privilegjeve të ndryshme përdoruesve. Në kombinim me ofruesin OpenID Connect, mbështetja OpenFGA lejon krijimin e një staku të hapur të identifikimit dhe autorizimit, duke e bërë Incus një zëvendësim të plotë të konfigurimeve LXD me Canonical RBAC. Për konfigurimin e aksesit në OpenFGA ofrohen parametrat openfga.api.token, openfga.api.url, openfga.store.id dhe openfga.store.model_id.
- Përmirësuar utilitarin lxd-to-incus, që automatizon migrimin nga LXD në Incus. Në versionin e ri është shtuar mbështetje për distribucione me sistemin e inicializimit OpenRC, duke e bërë të mundur transferimin e ruajtjeve Ceph dhe rrjeteve OVN, duke siguruar mbajtjen e një regjistri të migrimit dhe krijimin e kopjeve rezervë.
- Në makinat virtuale Shtuar mbështetje për lidhjen dhe heqjen e nxehtë (hot-plug/hot-remove) të rrugëve të skedarëve ose të pjesëve të veçanta, të kaluara nga mjedisi i host-it. Më parë, një kalim i tillë duke përdorur drejtimin virtio-fs ose FS 9p kërkonte ndalimin e makinerisë virtuale. Për të zgjidhur këtë kufizim është aktivizuar mundësia e QEMU për lidhjen e nxehtë të pajisjeve PCI dhe montimin e rrugës brenda sistemit mikpritës përmes incus-agent.
Burimi: opennet.ru
