Canonical ettevõte tööriistade väljaanne isoleeritud konteinerite haldamiseks , konteinerihaldur ja virtuaalne FS konteinerite simuleerimiseks /proc, /sys ning virtuaalse cgroupfs esitluse jaoks jaotustes, mis ei toeta nimiruume cgroup. 4.0 haru on klassifitseeritud pikaajalise toe väljaanneteks, mille uuendused kestavad 5 aastat
LXC on runtime nii süsteemi konteinerite kui ka eraldi rakenduste konteinerite (OCI) käitamiseks. LXC-sse kuulub liblxc raamatukogu, tööriistade komplekt (lxc-create, lxc-start, lxc-stop, lxc-ls jne), konteinerite loomise mallid ja sidumisvõimalused erinevatesse programmeerimiskeeltesse. Isolatsioon saavutatakse läbi Linuxi tuuma sisseehitatud mehhanismide. Protsesside, võrgu, ipc, uts, kasutajatunnuste ja liidestepunktide isoleerimiseks kasutatakse nimiruumide (namespaces) mehhanismi. Resursi piiramiseks kasutatakse cgroup-e. Privileegide vähendamiseks ja ligipääsu piiramiseks rakendatakse selliseid tuuma võimekusi nagu Apparmor ja SELinux profiilid, Seccomp poliitikad, Chroots (pivot_root) ning capabilities. LXC kood on kirjutatud C keeles ja levitatakse GPLv2 litsentsi all.
LXD on LXC, CRIU ja QEMU pealispind, mida kasutatakse konteinerite ja virtuaalmasinate keskseks haldamiseks ühel või mitmel серверil. Kui LXC on madala taseme tööriist konteinerite tasemel manipuleerimiseks, siis LXD on rakendatud taustprotsessina, mis võtab vastu päringuid üle võrgu REST API kaudu, võimaldades luua skaleeritavaid konfiguratsioone, mis on paigaldatud mitmest serverist koosnevale klastrile.
Toetatakse erinevaid salvestuslahenduste backende (kaustade puu, ZFS, Btrfs, LVM), olekute snapshot’e, tööprotsesside live-migratsiooni ühest masinast teise ja vahendeid piltide salvestamise korraldamiseks. LXD kood on kirjutatud Go keeles ja levitatakse Apache 2.0 litsentsi all.
Peamised LXC 4.0-s:
- Kogu cgroup töötlemise draiver on täielikult ümber kirjutatud. Lisatud tugi ühtsele cgroup hierarhiale (cgroup2). Lisatud on freezer kontrolleri funktsionaalsus, millega saab peatada cgroupis toimimise ja ajutiselt vabastada mõned ressursid (CPU, sisendi/välja ja isegi potentsiaalselt mälu) teiste ülesannete täitmiseks;
- Kasutusele on võetud infrastruktuur süsteemikõnede püüdmise teostamiseks;
- Lisatud on tugi tuuma "pidfd" alamsüsteemile, mis on mõeldud PID-i (pidfd seondub konkreetse protsessiga ja ei muutu, samas kui PID võidakse pärast hetkeprotsessi lõpetamist siduda teise protsessiga) taaskasutamise olukordade käsitlemiseks;
- Parendatud on võrgu seadmete loomist ja kustutamist ning nende liigutamist võrgu alamsüsteemi nimesse;
- Kindlustatud on võimalus juhtmevabade võrgu seadmete (nl80211) liigutamiseks konteineritesse.
Peamised LXD 4.0:
- Lisatud on tugi mitte ainult konteinerite, vaid ka virtuaalsete masinate käivitamiseks;
- LXD-serverite segmentimiseks on ette pandud projektide kontseptsioon, mis lihtsustab konteinerite ja virtuaalsete masinate gruppide haldamist. Iga projekt võib sisaldada oma konteinerite, virtuaalsete masinate, piltide, profiilide ja salvestusruumide komplekti. Projektide seotuse kontekstis on võimalik määrata oma piirangud ja muuta seadeid;
- Lisatud on tugi süsteemikõnede püüdmise jaoks konteinerites;
- Teostatud on keskkondade varundamise ja taastamise võimalus;
- Tagatud on automatiseeritud keskkondade ja salvestusruumide snäppide loomine koos võimalusega määrata snäppide kehtivusaeg;
- Lisatud on API võrguseisundi jälgimiseks (lxc network info);
- Lisatud tugi , virtuaalne FS, et siduda monteerimispunktid kasutaja identifikaatorite nimesse (user namespace);
- Pakkuda on uusi võrguadapteritüüpe "ipvlan" ja "routed";
- Lisatud on backend CephFS-põhiste salvestuste kasutamiseks;
- Klastrite jaoks on kindlustatud piltide replikatsiooni ja mitme arhitektuuri konfiguratsioonide tugi;
- Lisatud on rollipõhise juurdepääsu haldamise (RBAC) võimalus;
- Lisatud on CGroup2 tugi;
- Lisatud on MAC-aadressi konfigureerimise ja NAT-i allika adressi määramise võimalus;
- Lisatud on API DHCP sidemete (leases) haldamiseks;
- Lisatud on Nftablesi tugi.
Allikas: opennet.ru
