A két év fejlesztés után megjelent a Kata Containers 3.0 projekt verziója, amely a teljes körű virtualizációs mechanizmusokon alapuló konténer-feladatvégzés keretrendszerét fejleszti. A projektet az Intel és a Hyper cégek hozták létre, összekapcsolva a Clear Containers és a runV technológiáit. A projekt kódja Go és Rust nyelveken készült, és az Apache 2.0 licenc alatt terjesztik. A projekt fejlődését egy munkacsoport irányítja, amelyet az OpenStack Foundation független szervezete alatt alapítottak, és amelyben olyan cégek vesznek részt, mint a Canonical, a China Mobile, a Dell/EMC, az EasyStack, a Google, a Huawei, a NetApp, a Red Hat, a SUSE és a ZTE.
A Kata alapját a runtime képezi, amely lehetővé teszi kompakt virtuális gépek létrehozását, amelyeket egy teljes funkcionalitású hipervizor használatával hajtanak végre, ahelyett, hogy a hagyományos konténerekre támaszkodnának, amelyek közös Linux kernelt használnak, és namespace-ek és cgroups segítségével vannak izolálva. Az alkalmazás virtuális gépekhez nagyobb biztonsági szint elérését teszi lehetővé, amely megvéd a Linux magban található sérülékenységek kihasználásával végzett támadásoktól.
A Kata Containers a meglévő konténerelszigetelési infrastruktúrák integrálására összpontosít, lehetőséget biztosítva az ilyen virtuális gépek alkalmazására a hagyományos konténerek védelmének fokozására. A projekt eszközöket biztosít a könnyű virtuális gépek különböző konténerelszigetelési infrastruktúrákkal, konténerorkesztráló platformokkal és specifikációkkal, például OCI (Open Container Initiative), CRI (Container Runtime Interface) és CNI (Container Networking Interface) kompatibilitásának biztosítására. Elérhetők az integrációs eszközök a Docker, Kubernetes, QEMU és OpenStack platformokkal.

Az integráció a konténerkezelő rendszerekkel egy olyan réteg segítségével valósul meg, amely szimulálja a konténer kezelését, amely gRPC interfészen és speciális proxy-n keresztül lép kapcsolatba a virtuális gépben lévő kezelő ügynökkel. A hypervisor által indított virtuális környezetben egy speciálisan optimalizált Linux kernel kerül felhasználásra, amely csak a szükséges funkciók minimális halmazát tartalmazza.
A hypervisor supports the use of Dragonball Sandbox (KVM edition optimized for containers) with the QEMU toolkit, as well as Firecracker and Cloud Hypervisor. The system environment includes an initialization daemon and an agent (Agent). The agent ensures the execution of user-defined container images in OCI format for Docker and CRI for Kubernetes. When used alongside Docker, a separate virtuális gép, i.e., an environment running on top of the hypervisor is applied for nested container launches.

To reduce memory consumption, the DAX mechanism (direct access to the file system bypassing the page cache without using block device levels) is utilized, and for deduplication of identical memory areas, the KSM (Kernel Samepage Merging) technology is applied, allowing resource sharing of the host system and connecting a shared system environment template to different guest systems.
Az új verzióban:
- Alternatív runtime-ot (runtime-rs) javasoltak, amely a konténerek belsejét képezi, Rust nyelven írták (a korábban biztosított runtime Go nyelven készült). A runtime kompatibilis az OCI-val, a CRI-O-val és a Containerd-vel, így használható Dockerrel és Kubernetes-szel.
- Egy új hipervizor, a dragonball került bevezetésre, amely a KVM-re és a rust-vmm-re épül.
- GPU-hozzáférés átirányításának támogatása került hozzáadásra, VFIO használatával.
- Cgroup v2 támogatás került hozzáadásra.
- A beállítások cseréje a fő konfigurációs fájl módosítása nélkül valósult meg, egyes fájlokban található blokkok kicserélésével, amelyek a 'config.d/' könyvtárban helyezkednek el.
- A Rust nyelvű összetevők biztonságos fájlútvonali munkához új könyvtárat használnak.
- A virtiofsd (C nyelven íródott) helyére a virtiofsd-rs (Rust nyelven készült) lépett.
- A QEMU összetevők sandbox-izolációs támogatása került hozzáadásra.
- A QEMU-ban aszinkron bemeneti/kimeneti műveletekhez az io_uring API-t használták.
- A QEMU és a Cloud-hypervisor számára megvalósították az Intel TDX (Trusted Domain Extensions) kiterjesztések támogatását.
- Az összetevők frissítve lettek: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.
Forrás: opennet.ru
