Nakon dva godišnja razvoja, objavljena je verzija projekta Kata Containers 3.0, koja razvija okvir za organizaciju izvršavanja kontejnera koristeći izolaciju zasnovanu na punim mehanizmima virtualizacije. Projekt su stvorile kompanije Intel i Hyper spajanjem tehnologija Clear Containers i runV. Kod projekta napisan je na jezicima Go i Rust, a distribuira se pod Apache 2.0 licencom. Razvoj projekta nadzire radna grupa osnovana pod okriljem neovisne organizacije OpenStack Foundation, kojoj pridonose takve kompanije kao što su Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE i ZTE.
Osnova Kata je runtime koji omogućava kreiranje kompaktnim virtualnim strojevima, koji se izvršavaju koristeći puni hipervizor, umjesto korištenja tradicionalnih kontejnera koji koriste zajedničko Linux jezgro i izoliraju se pomoću prostora imena i cgroups. Primjena virtualnih mašina omogućava postizanje višeg nivoa sigurnosti, koja štiti od napada izazvanih iskorištavanjem ranjivosti u Linux jezgru.
Kata Containers je usmjeren na integraciju u postojeće infrastrukture kontejnerske izolacije s mogućnošću korištenja sličnih virtualnih mašina za jačanje zaštite tradicionalnih kontejnera. Projekt nudi mehanizme za osiguranje kompatibilnosti laganih virtualnih mašina s raznim infrastrukturnim sustavima kontejnerske izolacije, platformama za orkestraciju kontejnera i specifikacijama kao što su OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Dostupni su alati za integraciju s Docker, Kubernetes, QEMU i OpenStack.

Integracija s sustavima za upravljanje kontejnerima ostvaruje se putem sloja koji simulira upravljanje kontejnerom, a koji preko gRPC sučelja i posebnog proxyja obraća se upravljačkom agentu u virtualnoj mašini. Unutar virtualnog okruženja, koje pokreće hipervizor, koristi se posebno optimizirano Linux jezgro, koje sadrži samo minimalni set potrebnih mogućnosti.
Kao hipervizor podržava se korištenje Dragonball Sandbox (KVM izdanje optimizirano za kontejnere) s QEMU alatima, kao i Firecracker i Cloud Hypervisor. Operativno okruženje uključuje demona za inicijalizaciju i agenta. Agent osigurava izvršavanje slika kontejnera koje korisnik definira u OCI formatu za Docker i CRI za Kubernetes. Kada se koristi zajedno s Dockerom, za svaki kontejner stvara se zasebna virtualna mašina, tj. pokrenuto okruženje preko hipervizora koristi se za ugniježdeno pokretanje kontejnera.

Kako bi se smanjila potrošnja memorije, koristi se DAX mehanizam (izravan pristup FS-u s izbjegavanjem stranice bez korištenja razine blok uređaja), a za deduplikaciju identičnih područja memorije primjenjuje se KSM tehnologija (Kernel Samepage Merging), što omogućava zajedničko korištenje resursa sustava domaćina i povezivanje zajedničkog predloška operativnog okruženja različitim gostujućim sustavima.
U novoj verziji:
- Predložen je alternativni runtime (runtime-rs), koji formira sadržaj kontejnera, napisan na jeziku Rust (ranije isporučivani runtime napisan je na jeziku Go). Runtime je kompatibilan s OCI, CRI-O i Containerd, što omogućava njegovu upotrebu s Dockerom i Kubernetesom.
- Predložen je novi hipervizor dragonball, temeljen na KVM-u i rust-vmm.
- Dodana je podrška za prosljeđivanje pristupa GPU-u, koristeći VFIO.
- Dodana je podrška za cgroup v2.
- Implementirana je podrška za zamjenu postavki bez izmjene glavne konfiguracijske datoteke zamjenom blokova u zasebnim datotekama smještenim u direktoriju "config.d/".
- U komponentama na jeziku Rust korištena je nova biblioteka za sigurno rukovanje putanjama datoteka.
- Komponenta virtiofsd (napisana na C-u) zamijenjena je virtiofsd-rs (napisana na Rustu).
- Dodana je podrška za sandbox izolaciju komponenti QEMU-a.
- U QEMU-u za asinkrono ulaz/izlaz korišten je API io_uring.
- Za QEMU i Cloud-hypervisor implementirana je podrška za Intel TDX (Trusted Domain Extensions) proširenja.
- Ažurirane su komponente: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.
Izvor: opennet.ru
