Dopu à dui anni di sviluppu, a liberazione di u prughjettu Kata Containers 3.0 hè stata publicata, sviluppatu una pila per urganizà l'esekzione di cuntenituri utilizendu l'isolamentu basatu nantu à i meccanismi di virtualizazione cumpletu. U prugettu hè statu creatu da Intel è Hyper cumminendu Clear Containers è tecnulugie runV. U codice di u prughjettu hè scrittu in Go and Rust, è hè distribuitu sottu a licenza Apache 2.0. U sviluppu di u prugettu hè supervisatu da un gruppu di travagliu creatu sottu l'auspici di l'urganizazione indipendente OpenStack Foundation, chì include cumpagnie cum'è Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE è ZTE. .
À u core di Kata hè u runtime, chì furnisce l'abilità di creà macchine virtuali compatte chì funzionanu cù un ipervisore pienu, invece di utilizà cuntenituri tradiziunali chì utilizanu un kernel Linux cumunu è sò isolati cù namespaces è cgroups. L'usu di e macchine virtuali permette di ottene un livellu più altu di sicurità chì pruteghja contra l'attacchi causati da a sfruttamentu di vulnerabili in u kernel Linux.
Kata Containers hè focu annantu à l'integrazione in infrastrutture di isolamentu di container esistenti cù a capacità di utilizà macchine virtuali simili per rinfurzà a prutezzione di cuntenituri tradiziunali. U prughjettu furnisce i meccanismi per assicurà a cumpatibilità di e macchine virtuali ligeri cù diverse infrastrutture di isolamentu di container, piattaforme di orchestrazione di container è specificazioni cum'è OCI (Open Container Initiative), CRI (Container Runtime Interface) è CNI (Container Networking Interface). Strumenti sò dispunibili per l'integrazione cù Docker, Kubernetes, QEMU è OpenStack.
L'integrazione cù i sistemi di gestione di u containeru hè ottenuta utilizendu una capa chì simula a gestione di u containeru, chì accede à l'agente di gestione in a macchina virtuale attraversu l'interfaccia gRPC è un proxy speciale. In l'ambiente virtuale, chì hè lanciatu da l'ipervisore, hè utilizatu un kernel Linux appositamente ottimizzatu, chì cuntene solu u minimu settore di capacità necessarie.
Cum'è un ipervisore, sustene l'usu di Dragonball Sandbox (una edizione di KVM ottimizzata per i cuntenituri) cù u toolkit QEMU, è ancu Firecracker è Cloud Hypervisor. L'ambiente di u sistema include un daemon d'inizializazione è un agente. L'agente furnisce l'esecuzione di l'imaghjini di u containeru definite da l'utilizatori in u furmatu OCI per Docker è CRI per Kubernetes. Quandu s'utilice in cunjunzione cù Docker, una macchina virtuale separata hè creata per ogni cuntinuu, i.e. L'ambiente chì corre nantu à l'ipervisore hè utilizatu per u lanciu nidificatu di cuntenituri.
Per riduce u cunsumu di memoria, u mecanismu DAX hè utilizatu (accessu direttu à u sistema di fugliale, sguassate a cache di pagina senza usà u livellu di u dispositivu di bloccu), è per deduplicate zoni di memoria idèntica, hè aduprata a tecnulugia KSM (Kernel Samepage Merging), chì vi permette. per urganizà a spartera di e risorse di u sistema di l'ospiti è cunnette cù diversi sistemi di invitati sparte un mudellu d'ambiente di sistema cumuni.
In a nova versione:
- Un runtime alternativu (runtime-rs) hè prupostu, chì forma u riempimentu di cuntenituri, scrittu in a lingua Rust (u runtime furnitu prima era scrittu in a lingua Go). Runtime hè cumpatibile cù OCI, CRI-O è Containerd, chì permettenu di esse usatu cù Docker è Kubernetes.
- Un novu hypervisor dragonball basatu nantu à KVM è rust-vmm hè statu prupostu.
- Aghjunghje supportu per l'accessu di rinvia à a GPU cù VFIO.
- Supportu aghjuntu per cgroup v2.
- U supportu per cambià i paràmetri senza cambià u schedariu di cunfigurazione principale hè statu implementatu rimpiazzendu blocchi in schedarii separati situati in u cartulare "config.d/".
- I cumpunenti di Rust includenu una nova biblioteca per travaglià in modu sicuru cù i percorsi di file.
- U cumpunente virtiofsd (scrittu in C) hè statu rimpiazzatu cù virtiofsd-rs (scrittu in Rust).
- Aggiuntu supportu per i cumpunenti QEMU sandboxing.
- QEMU utilizza l'API io_uring per l'I/O asincrono.
- U supportu per l'estensione Intel TDX (Trusted Domain Extensions) hè statu implementatu per QEMU è Cloud-hypervisor.
- Componenti aghjurnati: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.
Source: opennet.ru