U publikua numri i dytë i 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ë dikur 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 kishte mbikëqyrur zhvillimin e LXD deri në momentin kur kompania Canonical vendosi të zhvillonte LXD si një projekt të veçantë për sipërmarrje. Qëllimi i fork-ut është të ofrojë një alternativë të menaxhuar nga një komunitet të pavarur për projektin LXD, i cili është në kontroll të kompanisë Canonical. Në kuadër të projektit Incus planifikohet gjithashtu të eliminohen disa gabime konceptuale që ishin bërë gjatë zhvillimit të LXD, të cilat më parë ishte e pamundur t'i korrigjoni pa shkelur përputhshmërinë e prapme.
Incus ofron mjete për menaxhimin e centralizuar të konteinerëve dhe makinave virtuale, të instaluara si në një host ashtu edhe në një klaster të disa. serverësh. Projekti realizohet si një proces në sfond, që pranon kërkesa përmes rrjetit përmes REST API dhe mbështet blloqe të ndryshme ruajtjeje (strukturat e dosjeve, ZFS, Btrfs, LVM), snapshot-et e gjendjeve, migrimin e drejtpërdrejtë të konteinerëve të punës nga një makinë në tjetrën, dhe mjete për ruajtjen e imazheve të konteinerëve. Si runtime për ekzekutimin e konteinerëve, përdoret instrumenti LXC, i cili përfshin bibliotekën liblxc, një grup utilitarësh (lxc-create, lxc-start, lxc-stop, lxc-ls etj.), shabllonë për ndërtimin e konteinerëve dhe një grup lidhjesh për gjuhë të ndryshme programimi. Izolimi realizohet nëpërmjet mekanizmave standardë të bërthamës Linux (hapësirat e emrave, cgroups, Apparmor, SELinux, Seccomp).
Ndryshimet më të dukshme:
- Në utilitarin lxd-to-incus, i cili automatizon kalimin nga LXD në Incus, është shtuar mbështetje për versionin LXD 5.19 dhe është siguruar mundësia e migruar, jo vetëm të hosteve të veçanta, por edhe klastereve LXD.
- Në makinat virtuale është shtuar mbështetje për krijimin e magazinave të bazuara në teknologjinë NVME. Për të specifikuar llojin e disku është shtuar një parametr i ri konfigurimi 'io.bus', i cili nga default është caktuar në vlerën 'virtio-scsi'. Duke e ndryshuar vlerën në 'nvme', ruajtësi në makinën virtuale do të shikohet si NVME SSD.
- Për imazhet e konteinerëve është realizuar një parametr 'requirements.privileged', i cili mund të caktohet në vlerën 'false' për të ndaluar përdorimin e imazhit në konteinerë të privilegjuar. Ky rregull, për shembull, mund të aplikohet për imazhet me distribucionin NixOS, të cilat aktualisht janë të papajtueshme me konteinerët e privilegjuar.
- Nga LXD është transferuar realizimi i modit për krijimin e kopjive të pjesëve nga ana serverë, i cili ndikon në përshpejtimin e operacioneve të kopjimit të pjesëve, falë përjashtimit të ridrejtimeve të të dhënave nëpërmjet klientit.
- Janë ofruar ndërtimet e kompozuara statikisht për sistemet ARM64.
Burimi: opennet.ru
