Rilascio di Kata Containers 3.2 con isolamento basato su virtualizzazione

È stato pubblicato il rilascio del progetto Kata Containers 3.2, che sviluppa un framework per l'esecuzione di contenitori utilizzando meccanismi di virtualizzazione completi per l'isolamento. Il progetto è stato creato dalle aziende Intel e Hyper attraverso la fusione delle tecnologie Clear Containers e runV. Il codice del progetto è scritto nei linguaggi Go e Rust e viene distribuito sotto licenza Apache 2.0. Lo sviluppo del progetto è supervisionato da un gruppo di lavoro creato sotto l'egida dell'organizzazione indipendente OpenStack Foundation, che include aziende come Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE e ZTE.

La base di Kata è un runtime che consente di creare macchine virtuali compatte, eseguite usando un hypervisor completo, anziché utilizzare contenitori tradizionali, che impiegano un kernel Linux condiviso e sono isolate tramite spazi dei nomi e cgroups. L'uso macchine virtuali permette di raggiungere un livello di sicurezza più elevato, proteggendo da attacchi causati dall'exploitation di vulnerabilità nel kernel Linux.

Kata Containers è progettato per l'integrazione nelle infrastrutture esistenti di isolamento dei contenitori con la possibilità di utilizzare tali macchine virtuali per migliorare la protezione dei contenitori tradizionali. Il progetto fornisce meccanismi per garantire la compatibilità delle macchine virtuali leggere con diverse infrastrutture di isolamento dei contenitori, piattaforme di orchestrazione dei contenitori e specifiche come OCI (Open Container Initiative), CRI (Container Runtime Interface) e CNI (Container Networking Interface). Sono disponibili strumenti per l'integrazione con Docker, Kubernetes, QEMU e OpenStack.

L'integrazione con i sistemi di gestione dei contenitori viene raggiunta tramite un livello che simula la gestione del contenitore, il quale, attraverso un'interfaccia gRPC e un proxy speciale, si rivolge all'agente di controllo nella macchina virtuale. All'interno dell'ambiente virtuale, avviato dall'hypervisor, viene utilizzato un kernel Linux appositamente ottimizzato, contenente solo il set minimo di funzionalità necessarie.

Come hypervisor, è supportato l'uso di Dragonball Sandbox (edizione KVM, ottimizzata per i container) con l'insieme di strumenti QEMU, oltre a Firecracker e Cloud Hypervisor. L'ambiente di sistema include un demone di inizializzazione e un agente (Agent). L'agente consente l'esecuzione di immagini di container fornite dall'utente in formato OCI per Docker e CRI per Kubernetes. Quando viene utilizzato insieme a Docker, per ogni container viene creata una macchina virtuale, cioè l'ambiente avviato sopra l'iperparte viene utilizzato per l'avvio nidificato dei container.

Rilascio di Kata Containers 3.2 con isolamento basato su virtualizzazione

Per ridurre il consumo di memoria viene applicato il meccanismo DAX (accesso diretto al file system bypassando la cache delle pagine senza utilizzare il livello dei dispositivi a blocchi), e per la deduplicazione delle aree di memoria identiche viene utilizzata la tecnologia KSM (Kernel Samepage Merging), che consente di organizzare la condivisione delle risorse del sistema host e di collegare a diversi sistemi guest un modello comune di ambiente di sistema.

Nella nuova versione:

  • Oltre al supporto per l'architettura AMD64 (x86_64), sono state generate release per le architetture ARM64 (Aarch64) e s390 (IBM Z). È in fase di sviluppo il supporto per l'architettura ppc64le (IBM Power).
  • Per abilitare l'accesso alle immagini dei contenitori, è stato utilizzato il file system Nydus 2.2.0, che utilizza l'indirizzamento basato sul contenuto per un'efficace interoperabilità con le immagini standard. Nydus supporta il caricamento delle immagini on-the-fly (caricando solo quando necessario), garantisce la deduplicazione dei dati ripetuti e può utilizzare vari backend per lo storage effettivo. Viene fornita compatibilità con POSIX (analogamente a Composefs, l'implementazione di Nydus combina le funzionalità di OverlayFS con EROFS o il modulo FUSE).
  • Nel nucleo del progetto Kata Containers è stato integrato il gestore di macchine virtuali Dragonball, che ora sarà sviluppato nel repository comune.
  • L'utilità kata-ctl ha aggiunto una funzione di debug per connettersi alla macchina virtuale dall'ambiente host.
  • Ampliate le capacità di gestione delle GPU e aggiunto il supporto per il passthrough delle GPU nei contenitori per calcoli riservati (Confidential Container), che garantisce la crittografia dei dati, della memoria e dello stato di esecuzione per proteggere in caso di compromissione dell'ambiente host o del hypervisor.
  • In Runtime-rs è stato aggiunto un sottosistema di gestione dei dispositivi utilizzati nei contenitori o negli ambienti sandbox. È supportato il lavoro con vfio, dispositivi di blocco, di rete e altri tipi di dispositivi.
  • È stata garantita la compatibilità con OCI Runtime 1.0.2 e Kubernetes 1.23.1.
  • Come kernel Linux è consigliato utilizzare il rilascio 6.1.38 con patch.
  • Lo sviluppo è stato trasferito dall'utilizzo del sistema di integrazione continua Jenkins a GitHub Actions.

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