Pubblicazione degli strumenti di gestione dei contenitori LXC e LXD 4.0

Azienda Canonical ha pubblicato rilascio degli strumenti per organizzare il lavoro in container isolati LXC 4.0, gestore di container LXD 4.0 e file system virtuale LXCFS 4.0 per simulare in container /proc, /sys e la rappresentazione virtualizzata di cgroupfs per distribuzioni senza supporto per i namespace di cgroup. La versione 4.0 è classificata come release con supporto a lungo termine, con aggiornamenti previsti per un periodo di 5 anni

LXC è un runtime per l'esecuzione sia di container di sistema che di container per applicazioni separate (OCI). Include la libreria liblxc, un insieme di utility (lxc-create, lxc-start, lxc-stop, lxc-ls, ecc.), template per la costruzione di container e un insieme di binding per diversi linguaggi di programmazione. L'isolamento avviene tramite meccanismi standard del kernel Linux. Per l'isolamento di processi, stack di rete ipc, uts, identificatori utente e punti di mount si utilizza il meccanismo dei namespace. I cgroups vengono utilizzati per limitare le risorse. Sono impiegate funzionalità del kernel come profili Apparmor e SELinux, politiche Seccomp, Chroots (pivot_root) e capabilities per ridurre i privilegi e limitare l'accesso. Il codice di LXC è scritto è scritto in linguaggio C e distribuito sotto licenza GPLv2.

LXD è un layer sopra LXC, CRIU e QEMU utilizzato per la gestione centralizzata di container e macchine virtuali su uno o più server. Mentre LXC è uno strumento a basso livello per manipolazioni a livello di singoli container, LXD è implementato come un processo in background che accetta richieste in rete tramite REST API, consentendo di creare configurazioni scalabili distribuite su cluster di più server.
Supporta vari backend di archiviazione (alberi di directory, ZFS, Btrfs, LVM), snapshot con cattura di stato, migrazione live di container in esecuzione da una macchina all'altra e strumenti per organizzare lo storage delle immagini. Il codice di LXD è scritto è scritto in linguaggio Go e distribuito sotto licenza Apache 2.0.

Le chiave miglioramenti in LXC 4.0:

  • Il driver per lavorare con cgroup è stato completamente riscritto. È stato aggiunto il supporto per l'gerarchia unificata di cgroup (cgroup2). È stata aggiunta la funzionalità del controllore freezer, che consente di fermare l'esecuzione nel cgroup e liberare temporaneamente alcune risorse (CPU, input/output e potenzialmente anche memoria) per eseguire altri compiti;
  • È stata realizzata un'infrastruttura per la cattura delle chiamate di sistema;
  • È stato aggiunto il supporto per il sottosistema del kernel "pidfd", progettato per gestire situazioni di riutilizzo del PID (pidfd è associato a un processo specifico e non cambia, mentre il PID può essere associato a un altro processo dopo la terminazione del processo corrente associato a quel PID);
  • Migliorata la creazione e la rimozione di dispositivi di rete, così come il loro spostamento tra gli spazi dei nomi del sottosistema di rete;
  • È stata implementata la possibilità di spostare dispositivi di rete wireless (nl80211) nei contenitori.

Le chiave miglioramenti in LXD 4.0:

  • È stato aggiunto il supporto per avviare non solo contenitori, ma anche macchine virtuali;
  • Per segmentare i server LXD è stata proposta una nuova concezione di progetti, che semplifica la gestione di gruppi di contenitori e macchine virtuali. Ogni progetto può includere il proprio set di contenitori, macchine virtuali, immagini, profili e spazi di archiviazione. All'interno dei progetti possono essere definiti limiti e modificati gli settings;
  • È stato aggiunto il supporto per la cattura delle chiamate di sistema per i contenitori;
  • È stata implementata la creazione di backup degli ambienti e il ripristino da questi;
  • È stata garantita la creazione automatizzata di snapshot degli ambienti e degli spazi di archiviazione con la possibilità di definire la durata dello snapshot;
  • È stato aggiunto un API per monitorare lo stato della rete (lxc network info);
  • È stata aggiunta la supporto per shiftfs, sistema di file virtuale per mappare i punti di montaggio con gli spazi di nomi degli identificatori utente (user namespace);
  • Sono stati proposti nuovi tipi di adattatori di rete "ipvlan" e "routed";
  • È stato aggiunto un backend per l'utilizzo di archiviazione basata su CephFS;
  • Per i cluster è stato implementato il supporto per la replicazione delle immagini e configurazioni multiarchitettura;
  • È stata aggiunta la possibilità di gestione degli accessi basata sui ruoli (RBAC);
  • È stato aggiunto il supporto per CGroup2;
  • È stata aggiunta la possibilità di configurare l'indirizzo MAC e definire l'indirizzo di origine per il NAT;
  • È stato aggiunto un API per gestire le configurazioni in DHCP (leases);
  • È stato aggiunto il supporto per Nftables.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster