Bolo zverejnené vydanie projektu Kata Containers 3.4, ktorý vyvíja zásobník na organizáciu vykonávania kontajnerov pomocou izolácie založenej na plnohodnotných virtualizačných mechanizmoch. Projekt bol vytvorený spoločnosťami Intel a Hyper spojením technológií Clear Containers a runV. Kód projektu je napísaný v Go and Rust a je distribuovaný pod licenciou Apache 2.0. Na vývoj projektu dohliada pracovná skupina vytvorená pod záštitou nezávislej organizácie OpenInfra Foundation, do ktorej patria spoločnosti ako Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE a ZTE .
Kata je založená na runtime prostredí, ktoré umožňuje vytváranie kompaktných virtuálnych strojov bežiacich na plnohodnotnom hypervízore namiesto použitia tradičných kontajnerov, ktoré používajú spoločné jadro. Linux a izolované pomocou menných priestorov a kontrolných skupín. Aplikácia virtuálne stroje umožňuje vyššiu úroveň zabezpečenia, ktorá chráni pred útokmi spôsobenými zneužitím zraniteľností jadra Linux.
Kata Containers sa zameriava na integráciu do existujúcich infraštruktúr na izoláciu kontajnerov so schopnosťou používať podobné virtuálne stroje na zvýšenie ochrany tradičných kontajnerov. Projekt poskytuje mechanizmy na zabezpečenie kompatibility ľahkých virtuálnych strojov s rôznymi infraštruktúrami na izoláciu kontajnerov, platformami na orchestráciu kontajnerov a špecifikáciami, ako sú OCI (Open Container Initiative), CRI (Container Runtime Interface) a CNI (Container Networking Interface). K dispozícii sú nástroje na integráciu s Docker, Kubernetes, QEMU a OpenStack.
Integrácia so systémami správy kontajnerov sa dosahuje pomocou vrstvy simulujúcej správu kontajnerov, ktorá komunikuje s agentom správy vo virtuálnom počítači prostredníctvom rozhrania gRPC a vyhradeného proxy servera. Vo virtuálnom prostredí sa používa špeciálne optimalizované jadro, ktoré spúšťa hypervízor. Linux, ktorý obsahuje iba minimálnu sadu potrebných funkcií.
Podporovaný hypervízor je Dragonball Sandbox (edícia KVM optimalizovaná pre kontajnery) s QEMU, ako aj Firecracker a Cloud Hypervisor. Systémové prostredie obsahuje init démona a agenta. Agent umožňuje spúšťanie používateľom definovaných obrazov kontajnerov vo formáte OCI pre Docker a vo formáte CRI pre Kubernetes. Pri použití v spojení s Dockerom sa pre každý kontajner vytvorí samostatná inštancia. virtuálny prístroj, t. j. prostredie bežiace nad hypervízorom sa používa na vnorené spúšťanie kontajnerov.

Na zníženie spotreby pamäte sa používa mechanizmus DAX (priamy prístup do súborového systému, obchádzanie vyrovnávacej pamäte stránok bez použitia úrovne blokového zariadenia) a na deduplikáciu identických pamäťových oblastí sa používa technológia KSM (Kernel Samepage Merging), ktorá umožňuje na organizovanie zdieľania zdrojov hostiteľského systému a pripojenie k rôznym hosťovským systémom zdieľajú spoločnú šablónu systémového prostredia.
Na organizáciu prístupu k obrázkom kontajnerov sa používa súborový systém Nydus, ktorý využíva adresovanie obsahu na efektívnu spoluprácu so štandardnými obrázkami. Nydus podporuje načítavanie obrázkov za chodu (sťahovanie len v prípade potreby), poskytuje deduplikáciu duplicitných údajov a na skutočné ukladanie môže používať rôzne backendy. Je zabezpečená kompatibilita POSIX (podobne ako v prípade Composefs, implementácia Nydus kombinuje možnosti OverlayFS s modulom EROFS alebo FUSE).
V novej verzii:
- Správca virtuálneho stroja Dragonball pridal podporu pre zapojenie GPU za chodu a možnosť používať registre MTRR (Memory-Type Range Registers) na organizovanie prístupu k oblastiam fyzickej pamäte.
- runtime-rs, runtime implementácia v jazyku Rust, poskytuje úplné spracovanie vlákien, pid a tid, a tiež prerába ovládač qemu, ktorý sa používa na systémoch s architektúrou s390 (IBM Z).
- Služba na vytváranie snímok pomocou Nydus FS bola aktualizovaná.
- Služba správy obrázkov kontajnerov zlepšila efektivitu pamäte.
- Predvolene povolené na pripojenie hierarchie cgroups-v2 v čase zavádzania pomocou systemd.
- Pridaná možnosť definovať časový limit na obmedzenie času potrebného na získanie veľmi veľkých obrázkov v hosťujúcich systémoch.
- Pridaná podpora pre vytváranie OPA agenta (Open Policy Agent) pre architektúry ppc64le a s390x.
Zdroj: opennet.ru
