Lansarea instrumentelor de management al containerelor LXC și LXD 4.0

Compania Canonică а publicat eliberarea de instrumente pentru organizarea muncii containerelor izolate LXC 4.0, manager de containere LXD 4.0 și FS virtual LXCFS 4.0 pentru simulare în containere /proc, /sys și o reprezentare virtualizată cgroupfs pentru distribuții fără suport pentru spațiile de nume cgroup. Branch 4.0 este clasificată ca o versiune de suport pe termen lung, actualizările pentru care sunt generate pe o perioadă de 5 ani

LXC este un timp de execuție pentru rularea atât a containerelor de sistem, cât și a containerelor OCI. LXC include biblioteca liblxc, un set de utilitare (lxc-create, lxc-start, lxc-stop, lxc-ls etc.), șabloane pentru construirea de containere și un set de legături pentru diferite limbaje de programare. Izolarea se realizează folosind mecanisme standard ale nucleului Linux. Pentru a izola procesele, stiva de rețea ipc, uts, ID-urile de utilizator și punctele de montare, este utilizat mecanismul spațiilor de nume. cgroups sunt folosite pentru a limita resursele. Pentru a reduce privilegiile și a limita accesul, sunt utilizate funcții ale nucleului, cum ar fi profilurile Apparmor și SELinux, politicile Seccomp, Chroots (pivot_root) și capabilitățile. Cod LXC scris de în limbaj C și distribuit sub licența GPLv2.

LXD este un supliment pentru LXC, CRIU și QEMU care este utilizat pentru a gestiona centralizat containerele și mașinile virtuale pe unul sau mai multe servere. Dacă LXC este un set de instrumente de nivel scăzut pentru manipulare la nivelul containerelor individuale, atunci LXD este implementat ca un proces de fundal care acceptă cereri prin rețea prin intermediul API-ului REST și vă permite să creați configurații scalabile implementate pe un cluster de mai multe servere.
Sunt acceptate diverse backend-uri de stocare (arborele de directoare, ZFS, Btrfs, LVM), instantanee cu o porțiune de stare, migrarea live a containerelor care rulează de la o mașină la alta și instrumente pentru organizarea stocării imaginilor. Cod LXD scris de în Go și distribuit sub licența Apache 2.0.

Cheie îmbunătățiri în LXC 4.0:

  • Driverul a fost complet rescris pentru a funcționa cu cgroup. S-a adăugat suport pentru ierarhia cgroup unificată (cgroup2). A fost adăugată funcționalitatea controlerului congelatorului, cu care puteți opri munca într-un cgroup și puteți elibera temporar unele resurse (CPU, I/O și, eventual, chiar memorie) pentru a efectua alte sarcini;
  • Implementarea infrastructurii pentru interceptarea apelurilor de sistem;
  • S-a adăugat suport pentru subsistemul kernel „pidfd”, conceput pentru a gestiona situația de reutilizare a PID (pidfd este asociat cu un anumit proces și nu se modifică, în timp ce un PID poate fi asociat cu un alt proces după ce procesul curent asociat cu acel PID se încheie) ;
  • Crearea și ștergerea îmbunătățite a dispozitivelor de rețea, precum și mișcarea acestora între spațiile de nume ale subsistemului de rețea;
  • A fost implementată capacitatea de a muta dispozitivele de rețea fără fir (nl80211) în containere.

Cheie îmbunătățiri în LXD 4.0:

  • S-a adăugat suport pentru lansarea nu numai a containerelor, ci și a mașinilor virtuale;
  • Pentru segmentarea serverelor LXD, a fost propus un concept de proiect care simplifică gestionarea grupurilor de containere și a mașinilor virtuale. Fiecare proiect poate include propriul set de containere, mașini virtuale, imagini, profiluri și partiții de stocare. În legătură cu proiecte, vă puteți seta propriile restricții și puteți modifica setările;
  • S-a adăugat suport pentru interceptarea apelurilor de sistem pentru containere;
  • Implementat crearea de copii de rezervă ale mediilor și restaurarea din acestea;
  • Crearea automată de instantanee ale mediilor și partițiilor de stocare este prevăzută cu capacitatea de a seta durata de viață a instantaneului;
  • S-a adăugat API pentru monitorizarea stării rețelei (informații rețelei lxc);
  • Sprijin adăugat schimburi, FS virtual pentru maparea punctelor de montare la spațiile de nume ale utilizatorului;
  • Au fost propuse noi tipuri de adaptoare de rețea „ipvlan” și „routed”;
  • Backend adăugat pentru utilizarea stocării bazate pe CephFS;
  • A fost implementat suport pentru replicarea imaginilor și configurațiile multi-arhitectură pentru clustere;
  • S-a adăugat controlul accesului bazat pe rol (RBAC);
  • S-a adăugat suport pentru CGroup2;
  • S-a adăugat posibilitatea de a configura adresa MAC și de a determina adresa sursă pentru NAT;
  • S-a adăugat API pentru gestionarea legăturilor DHCP (închiriere);
  • S-a adăugat suport pentru Nftables.

Sursa: opennet.ru

Adauga un comentariu