A Canonical vállalat A szerszámkészlet kiadása az elszigetelt konténerek működtetéséhez , konténerkezelő és virtuális fájlrendszer a konténerekben található /proc, /sys és a cgroupfs virtuális bemutatójának szimulálásához olyan disztribúciók számára, amelyek nem támogatják a névtér (namespace) használatát a cgrouphoz. A 4.0 ág hosszú távú támogatással rendelkező kiadások közé tartozik, frissítéseket 5 éven keresztül készítenek hozzá.
Az LXC egy runtime, amely rendszerkonténerek és alkalmazáskonténerek (OCI) indítására szolgál. Az LXC tartalmaz egy liblxc könyvtárat, egy hasznos programgyűjteményt (lxc-create, lxc-start, lxc-stop, lxc-ls stb.), konténerépítő sablonokat és különböző programozási nyelvekhez készült kötéseket. Az izolálás a Linux kernel beépített mechanizmusai révén történik. A folyamatok, hálózati verem, ipc, uts, felhasználói azonosítók és csatolási pontok izolálását a névterek (namespaces) mechanizmusa valósítja meg. Az erőforrások korlátozásához cgroups alkalmazandók. Az alacsonyabb jogosultságok és a hozzáférés korlátozása érdekében a kernel olyan képességeit használják, mint az Apparmor és SELinux profilok, Seccomp politikák, Chroots (pivot_root) és lehetőségek. Az LXC kódja C nyelven készült, és GPLv2 licenc alatt terjesztik.
Az LXD az LXC, CRIU és QEMU kiegészítése, amely lehetővé teszi a konténerek és virtuális gépek központi kezelését egy vagy több szerveren. Míg az LXC egy alacsony szintű eszköz az egyes konténerek manipulálására, az LXD háttérfolyamat formájában valósul meg, amely REST API-n keresztül fogadja a hálózati kéréseket, és skálázható konfigurációk létrehozását teszi lehetővé több szerverből álló klasztereken.
Támogatja a különböző tárolási backendeket (könyvtárfa, ZFS, Btrfs, LVM), állapot snapshotokat, működő konténerek élő migrálását egyik gépről a másikra, valamint az image tárolásának megszervezésére szolgáló eszközöket. Az LXD kódja Go nyelven készült és Apache 2.0 licenc alatt terjesztik.
Kulcsok az LXC 4.0-ban:
- Teljesen újraírták a cgroup kezelőjét. Támogatást nyert az egységes cgroup hierarchia (cgroup2). Hozzáadódott a freezer vezérlő funkciója, amellyel le lehet állítani a cgroup működését, és ideiglenesen felszabadítani egyes erőforrásokat (CPU, I/O és potenciálisan még memória) más feladatok végrehajtásához;
- Megvalósult az infrastruktúra a rendszerhívások megfigyelésére;
- Hozzáadtuk a 'pidfd' kernel alrendszer támogatását, amely a PID újrahasználatának kezelésére szolgál (a pidfd egy adott folyamathoz kapcsolódik, és nem változik, míg a PID egy másik folyamathoz is kapcsolódhat a jelenlegi folyamat befejezése után, amelyhez ez a PID tartozik);
- Javítottuk a hálózati eszközök létrehozását és törlését, valamint azok áthelyezését a hálózati alrendszer névtérben;
- Lehetőség nyílt vezeték nélküli hálózati eszközök (nl80211) konténerekbe való áthelyezésére.
Kulcsok az LXD 4.0-ban:
- Hozzáadtuk a nemcsak konténerek, hanem virtuális gépek indításának támogatását;
- Az LXD szerverek szegmentálására javasolták a projektek koncepcióját, amely egyszerűsíti a konténerek és virtuális gépek csoportjainak kezelését. Minden projekt tartalmazhat egy saját konténer-, virtuális gép-, képkészletet, profilt és tárolási területet. A projektekhez kapcsolódóan saját korlátozásokat lehet megadni és beállításokat módosítani;
- Hozzáadtuk a rendszerhívások megfigyelésének támogatását a konténerek számára;
- Megvalósítottuk a környezetek biztonsági mentését és helyreállítását;
- Biztosítottuk a környezetek és tárolási területek automatikus pillanatfelvételeinek létrehozását azzal a lehetőséggel, hogy megadjuk a pillanatfelvétel fennállásának időtartamát;
- Hozzáadtuk az API-t a hálózati állapot figyelésére (lxc network info);
- Támogatás került hozzáadásra , virtuális fájlrendszert a csatolmányok térben lévő azonosítók (user namespace) összehangolására;
- Javasolt új típusú hálózati adapterek az 'ipvlan' és 'routed';
- Hozzáadtuk a CephFS alapú tárolók használatához szükséges hátteret;
- A klaszterek számára lehetővé vált képek replikálásának és több architektúrájú konfigurációknak a támogatása;
- Hozzáadtuk a szerepköralapú hozzáférés-vezérlés (RBAC) lehetőségét;
- Hozzáadtuk a CGroup2 támogatását;
- Hozzáadtuk a MAC-cím beállításának és a NAT forráscím meghatározásának lehetőségét;
- Hozzáadtunk egy API-t a DHCP-kötések (leases) kezelésére;
- Hozzáadtuk az Nftables támogatását.
Forrás: opennet.ru
