Kompania Canonical lëshimi i mjetit për organizimin e punës së kontejnerëve të izoluar , menaxheri i kontejnerëve dhe sistemi virtual i skedarëve për simulimin në kontejnerët /proc, /sys dhe përfaqësimin e virtualizuar të cgroupfs për distribucione pa mbështetje për hapësirat emnash për cgroup. Dega 4.0 i përket lëshimeve me mbështetje të gjatë, përditësimet e të cilave formohen gjatë 5 vjetëve
LXC përfaqëson një runtime për të drejtuar si kontejnerë sistemikë ashtu edhe kontejnerë për aplikacione të veçanta (OCI). LXC përfshin bibliotekën liblxc, një grup mjetesh (lxc-create, lxc-start, lxc-stop, lxc-ls, etj.), modele për ndërtimin e kontejnerëve dhe një grup lidhjesh për gjuhë të ndryshme programuese. Izolimi realizohet me mekanizmat standard të bërthamës Linux. Për izolimin e proceseve, stekëve rrjetë, ipc, uts, identifikatorëve të përdoruesve dhe pikave të montimit përdoret mekanizmi i hapësirave emnash (namespaces). Për kufizimin e burimeve përdoren cgroups. Për uljen e privilegjeve dhe kufizimin e qasjes përdoren mundësitë e tilla të bërthamës si profili Apparmor dhe SELinux, politikat e Seccomp, Chroots (pivot_root) dhe capabilities. Kodi i LXC në gjuhën C dhe shpërndahet nën licencën GPLv2.
LXD përfaqëson një shtresë mbi LXC, CRIU dhe QEMU, e cila përdoret për menaxhimin qendror të kontejnerëve dhe makinave virtuale në një ose më shumë serverë. Nëse LXC është një mjet me nivel të ulët për manipulimin në nivelin e kontejnerëve të veçantë, LXD është realizuar si një proces në sfond, duke pranuar kërkesa përmes RRAPI dhe duke lejuar krijimin e konfigurimeve të shkallëzuara që janë aktive në një kënd të disa serverëve.
Përkrah disa backend të ruajtjes (strukturë direktorish, ZFS, Btrfs, LVM), snapshot me gjendjen e prerë, migrimin e drejtpërdrejtë të kontejnerëve në punë nga një makinë në tjetrën dhe mjete për organizimin e ruajtjes së imazheve. Kodi i LXD në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
Karakteristikat kryesore në LXC 4.0:
- Derdha krejtësisht driverin për punën me cgroup. Shtuar mbështetje për hierarkinë e unifikuar të cgroup (cgroup2). Shtuar funksionalitetin e kontrolluesit freezer, me anë të cilit është e mundur të ndalohet puna në cgroup dhe përkohësisht të lirohen disa burime (CPU, hyrja/dalja dhe potencialisht edhe memorje) për kryerjen e detyrave të tjera;
- Realizuar infrastruktura për kapjen e thirrjeve sistemore;
- Shtuar mbështetje për nën sistemi të kernelit 'pidfd', i cili është i destinuar për trajtimin e situatës me ripërdorimin e 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 që lidhët me atë PID);
- Përmirësuar krijimi dhe fshirja e pajisjeve rrjetë, si dhe lëvizja e tyre midis hapësirave të emrave të nën sistemit rrjetë;
- Realizuar mundësia e lëvizjes së pajisjeve rrjetë pa tel (nl80211) në kontejnerë.
Karakteristikat kryesore në LXD 4.0:
- Shtuar mbështetje për ekzekutimin jo vetëm të kontejnerëve, por edhe të makinave virtuale;
- Për segmentimin e serverëve LXD janë propozuar konceptet e projekteve, që thjeshtojnë menaxhimin e grupeve të kontejnerëve dhe makinave virtuale. Çdo projekt mund të përfshijë grupin e tij të kontejnerëve, makinave virtuale, imazheve, profileve dhe përmbajtjeve të ruajtjes. Në lidhje me projektet mund të vendosen kufizime të veta dhe të ndryshohen cilësimet;
- Shtuar mbështetje për kapjen e thirrjeve sistemore për kontejnerët;
- Realizuar krijimin e kopjeve rezervë të mjediseve dhe rikthimin nga ato;
- Siguruar krijimin automatizuar të snapshoot-eve të mjediseve dhe përmbajtjeve të ruajtjes me mundësinë e vendosjes së kohës së ekzistencës së snapshoot-it;
- Shtuar API për monitorimin e gjendjes së rrjetit (lxc network info);
- Shtuar mbështetje , një FS virtuale për përputhjen e pikave të montimit me hapësirat e emrave të identifikuesve të përdoruesve (user namespace);
- Propozuar lloje të reja të adaptrave rrjetë 'ipvlan' dhe 'routed';
- Shtuar një backend për përdorimin e ruajtjeve të bazuara në CephFS;
- Për klasterët realizuar mbështetje për replikimin e imazheve dhe konfigurimeve multiarqitektonike;
- Shtuar mundësinë e menaxhimit të qasjes mbi bazën e roleve (RBAC);
- Shtuar mbështetje 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 mbështetje për Nftables.
Burimi: opennet.ru
