Kompania Canonical lëshimi i mjeteve për organizimin e punës në kontejnerë të izoluar , menaxheri i kontejnerëve dhe sistemi virtual i skedarëve për simulimin në konteinerë të /proc, /sys dhe pamjes virtuale të cgroupfs për distribucione pa mbështetje për hapësirat e emrave për cgroup. Dega 4.0 përfshihet në lëshimet me mbështetje afatgjatë, për të cilat përditësimet formohen brenda 5 vjetësh.
LXC është një runtime për ekzekutimin e kontejnerëve sistemorë dhe kontejnerëve për aplikacione të veçanta (OCI). Në përbërje të LXC përfshihet biblioteca liblxc, një set mjetesh (lxc-create, lxc-start, lxc-stop, lxc-ls etj.), shabllone për ndërtimin e kontejnerëve dhe një grup lidhjesh për gjuhë të ndryshme programimi. Izolimi arrihet përmes mekanizmave standard të kernelit Linux. Për izolimin e proceseve, stekës rrjeti ipc, uts, identifikuesve të përdoruesve dhe pikave të montimit, përdoret mekanizmi i hapësirave të emrave (namespaces). Për kufizimin e burimeve aplikohen cgroups. Për uljen e privilegjeve dhe kufizimin e aksesit, aktivizohen mundësi të tilla të kernelit si profili Apparmor dhe SELinux, politikat Seccomp, Chroots (pivot_root) dhe capabilities. Kodi i LXC është shkruar në gjuhën C dhe shpërndahet nën licencën GPLv2.
LXD është një shtresë mbi LXC, CRIU dhe QEMU, e përdorur për menaxhimin qendror të kontejnerëve dhe makinave virtuale në një ose disa servera. Nëse LXC është një mjet me nivel të ulët për manipuluar në nivelin e kontejnerëve individualë, LXD është implementuar si një proces mbrapa, që pranon kërkesa përmes rrjetit përmes REST API dhe lejon krijimin e konfiguracioneve shkallëzuese, të zhvillueshme në një grup serverash.
Përkrahen blloqe të ndryshme të magazinimit (pemë të direktorive, ZFS, Btrfs, LVM), snapshot me gjendje të prerë, migrim të gjallë të kontejnerëve në funksionim nga një makinë në tjetrën dhe mjete për organizimin e magazinimit të imazheve. Kodi i LXD është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
ĂelĂ«sore nĂ« LXC 4.0:
- Drejtorja për punën me cgroup është shkruar nga zero. Shtuar përkrahje për hierarkinë e unifikuar të cgroup (cgroup2). Shtuar funksionaliteti i kontrollit freezer, me ndihmën e së cilës mund të ndaloni operimin në cgroup dhe përkohësisht të lëshoni disa burime (CPU, hyrje/mbledhje dhe potencialisht madje edhe memorie) për të kryer detyra të tjera;
- Implementuar infrastruktura për kapjen e thirrjeve sistemike;
- Shtuar përkrahje për nën-sistem të kernelit 'pidfd', e cila është e dedikuar për trajtimin e situatës së ribashkimit të PID (pidfd lidhet me një proces të caktuar dhe nuk ndryshon, ndërsa PID mund të lidhet me një proces tjetër pas përfundimit të procesit aktual të lidhur me këtë PID);
- Përmirësuar krijimin dhe fshirjen e pajisjeve rrjetërore, si dhe zhvendosjet e tyre mes hapësirave të emrave të nën-sistemit rrjetor;
- Implementuar mundësinë e zhvendosjes së pajisjeve rrjetërore pa tel (nl80211) në kontejnerë.
ĂelĂ«sore nĂ« LXD 4.0:
- Shtuar përkrahjen për ekzekutimin e jo vetëm kontejnerëve, por edhe makinave virtuale;
- PĂ«r segmentimin e serverĂ«ve, LXD ka propozuar konceptin e projekteve, duke thjeshtuar menaxhimin e grupeve tĂ« kontejnerĂ«ve dhe makinave virtuale. Ădo projekt mund tĂ« pĂ«rfshijĂ« grupin e vet tĂ« kontejnerĂ«ve, makinave virtuale, imazheve, profileve dhe ndarjeve tĂ« magazinimit. NĂ« lidhje me projektet, mund tĂ« caktohen kufizime tĂ« veta dhe tĂ« ndryshohen cilĂ«simet;
- Shtuar përkrahjen për kapjen e thirrjeve sistemike për kontejnerët;
- Implementuar krijimin e rezervave të ambientit dhe rimarrjen prej tyre;
- Siguruar krijimin automatizuar të snapshot-eve të ambientit dhe ndarjeve të magazinimit me mundësinë e caktimit të kohës së ekzistencës së snapshot-it;
- Shtuar API për monitorimin e gjendjes së rrjetit (lxc network info);
- Shtuar mbështetje për , sistemi virtual i skedarëve për ndërlikimin e pikave të montimit me hapësirat e emrave të identifikuesve të përdoruesve (user namespace);
- Propozuar tipo të reja të adapetrëve rrjetërore 'ipvlan' dhe 'routed';
- Shtuar një backend për përdorimin e magazinimeve të bazuara në CephFS;
- Për klasterët implementuar mbështetje për replikimin e imazheve dhe konfiguracione nga shumë arkitektura;
- Shtuar mundësinë për menaxhimin e aksesit të bazuar në role (RBAC);
- Shtuar përkrahjen për CGroup2;
- Shtuar mundësinë për konfigurimin e adresës MAC dhe përcaktimin e adresës së burimit për NAT;
- Shtuar API për menaxhimin e lidhjeve në DHCP (leases);
- Shtuar përkrahje për Nftables.
Burimi: opennet.ru
