Rilascio degli strumenti di gestione dei contenitori LXC e LXD 4.0

Canonico pubblicato rilascio di strumenti per organizzare il lavoro di contenitori isolati LXC4.0, gestore dei contenitori LXD4.0 e FS virtuale LXCFS 4.0 per la simulazione in contenitori /proc, /sys e una rappresentazione cgroupfs virtualizzata per distribuzioni senza supporto per gli spazi dei nomi cgroup. Branch 4.0 è classificata come una versione con supporto a lungo termine, i cui aggiornamenti vengono generati in un periodo di 5 anni

LXC è un runtime per l'esecuzione sia di contenitori di sistema che di contenitori OCI. LXC include la libreria liblxc, una serie di utilità (lxc-create, lxc-start, lxc-stop, lxc-ls, ecc.), modelli per la creazione di contenitori e una serie di collegamenti per vari linguaggi di programmazione. L'isolamento viene effettuato utilizzando i meccanismi standard del kernel Linux. Per isolare i processi, lo stack di rete ipc, uts, ID utente e punti di montaggio, viene utilizzato il meccanismo dei namespace. i cgroup vengono utilizzati per limitare le risorse. Per ridurre i privilegi e limitare l'accesso, vengono utilizzate funzionalità del kernel come profili Apparmor e SELinux, policy Seccomp, Chroots (pivot_root) e funzionalità. Codice LXC è scritto in linguaggio C e distribuito sotto licenza GPLv2.

LXD è un componente aggiuntivo di LXC, CRIU e QEMU utilizzato per gestire centralmente contenitori e macchine virtuali su uno o più server. Se LXC è un toolkit di basso livello per la manipolazione a livello di singoli contenitori, LXD viene implementato come processo in background che accetta richieste sulla rete tramite l'API REST e consente di creare configurazioni scalabili distribuite su un cluster di più server.
Sono supportati vari backend di archiviazione (albero delle directory, ZFS, Btrfs, LVM), istantanee con una sezione di stato, migrazione in tempo reale di contenitori in esecuzione da una macchina all'altra e strumenti per l'organizzazione dell'archiviazione delle immagini. Codice LXD è scritto in Go e distribuito sotto la licenza Apache 2.0.

Chiave miglioramenti nell'LXC 4.0:

  • Il driver è stato completamente riscritto per funzionare con cgroup. Aggiunto il supporto per la gerarchia unificata dei cgroup (cgroup2). Aggiunta la funzionalità del controller del congelatore, con la quale è possibile interrompere il lavoro in un cgroup e liberare temporaneamente alcune risorse (CPU, I/O e potenzialmente anche memoria) per eseguire altre attività;
  • Infrastruttura implementata per intercettare le chiamate di sistema;
  • Aggiunto supporto per il sottosistema del kernel "pidfd", progettato per gestire la situazione di riutilizzo del PID (pidfd è associato a un processo specifico e non cambia, mentre un PID può essere associato a un altro processo dopo che il processo corrente associato a quel PID termina) ;
  • Creazione ed eliminazione migliorate dei dispositivi di rete, nonché il loro spostamento tra gli spazi dei nomi dei sottosistemi di rete;
  • È stata implementata la possibilità di spostare i dispositivi di rete wireless (nl80211) nei contenitori.

Chiave miglioramenti nell'LXD 4.0:

  • Aggiunto supporto per l'avvio non solo di contenitori, ma anche di macchine virtuali;
  • Per segmentare i server LXD è stato proposto un concept di progetto che semplifica la gestione di gruppi di container e macchine virtuali. Ogni progetto può includere il proprio set di contenitori, macchine virtuali, immagini, profili e partizioni di archiviazione. In relazione ai progetti, puoi impostare le tue restrizioni e modificare le impostazioni;
  • Aggiunto supporto per intercettare le chiamate di sistema per i contenitori;
  • Implementata la creazione di copie di backup degli ambienti e il ripristino da essi;
  • Viene fornita la creazione automatizzata di istantanee di ambienti e partizioni di archiviazione con la possibilità di impostare la durata dell'istantanea;
  • Aggiunta API per il monitoraggio dello stato della rete (informazioni sulla rete lxc);
  • Aggiunto supporto turni, FS virtuale per la mappatura dei punti di montaggio sugli spazi dei nomi degli utenti;
  • Sono state proposte nuove tipologie di adattatori di rete “ipvlan” e “routed”;
  • Aggiunto backend per l'utilizzo dello storage basato su CephFS;
  • Per i cluster è stato implementato il supporto per la replica delle immagini e le configurazioni multi-architettura;
  • Aggiunto controllo degli accessi basato sui ruoli (RBAC);
  • Aggiunto il supporto per CGroup2;
  • Aggiunta la possibilità di configurare l'indirizzo MAC e determinare l'indirizzo di origine per NAT;
  • Aggiunta API per la gestione dei collegamenti DHCP (leasing);
  • Aggiunto il supporto per Nftables.

Fonte: opennet.ru

Aggiungi un commento