Kata Containers 3.2 versiooni väljaandmine on toimunud, arendades tehnoloogiate virnastamise raamistiku, mis võimaldab konteinerite käitamisisolatsiooni, kasutades täisfunktsionaalseid virtualiseerimismehanisme. Projekt loodi ettevõtete Intel ja Hyper poolt, ühendades Clear Containers ja runV tehnoloogiad. Projekti kood on kirjutatud keeltes Go ja Rust ning see levitatakse Apache 2.0 litsentsi alusel. Projekti arendust koordineerib OpenStack Foundationi all tegutsev töögrupp, kuhu kuuluvad sellised ettevõtted nagu Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ja ZTE.
Kata põhialuseks on runtime, mis võimaldab luua kompaktseid virtuaalmasinaid, mida käitatakse täisfunktsionaalse hüperviisori abil, mitte traditsiooniliste konteinerite kasutamise kaudu, mis kasutavad ühist Linuxi tuuma ja on isoleeritud nimede ruumide ja cgroups abil. Kohaldamine virtuaalmasinate võimaldab saavutada kõrgemat turvataset, mis kaitseb rünnakute eest, mis tulenevad Linuxi tuuma haavatavuste ärakasutamisest.
Kata Containers on suunatud integreerimiseks olemasolevatesse konteineri eraldamise infrastruktuuridesse, võimaldades selliste virtuaalmasinate kasutamist traditsiooniliste konteinerite kaitse tugevdamiseks. Projekt pakub mehhanisme kergemate virtuaalmasinate ühilduvuse tagamiseks erinevate konteineri eraldamise infrastruktuuride, konteinerite orkestreerimise platvormide ja standardite, nagu OCI (Open Container Initiative), CRI (Container Runtime Interface) ja CNI (Container Networking Interface) osas. Saadaval on tööriistad Dockeriga, Kubernetesega, QEMU ja OpenStackiga integreerimiseks.
Integreerimine konteinerihalduse süsteemidega toimub asioomise kaudu, mis simuleerib konteineri haldamist, mis gRPC liidese ja spetsiaalse proksiga pöördub virtuaalmasinas tegutseva haldusagendi poole. Virtuaalses keskkonnas, mida käitab hüperviisor, kasutatakse spetsiaalselt optimeeritud Linuxi tuuma, mis sisaldab ainult minimaalset vajalikku funktsionaalsust.
Hüperviisorina toetatakse Dragonball Sandbox'i kasutamist (KVM versioon, mis on optimeeritud konteinerite jaoks) koos QEMU tööriistadega, samuti Firecracker ja Cloud Hypervisor. Süsteemi keskkond sisaldab initsialiseerimise deemonit ja agenti (Agent). Agent tagab kasutaja määratud OCI vormingus konteineripiltide täitmise Dockerile ja CRI-le Kuberneteses. Koos Dockeriga luuakse iga konteineri jaoks eraldi virtuiaalmasin, st ühitades hüperviisori keskkonda, kasutatakse konteinerite siseläbiviimiseks.

Mälu tarbimise vähendamiseks kasutatakse DAX mehhanismi (otsene pääs failisüsteemile, mööda lehevahetuse vahemälu ja ilma plokkseadmestuse taset kasutamata) ning identsete mälualade deduplikatsiooni jaoks kasutatakse KSM-i (Kernel Samepage Merging) tehnoloogiat, mis võimaldab host-süsteemi ressursside jagamist ja erinevatele külalisüsteemidele ühise süsteemi keskkonna malli ühendamist.
Uues versioonis:
- Lisaks AMD64 (x86_64) arhitektuuri toele on tagatud ARM64 (Aarch64) ja s390 (IBM Z) arhitektuuride väljaandmine. Töös on toetuse arendamine ppc64le (IBM Power) arhitektuurile.
- Konteineripiltide juurdepääsu korraldamiseks on kasutusele võetud Nydus 2.2.0 failisüsteem, mis rakendab sisu aadressimist, et tõhustada koostööd tüüpiliste piltidega. Nydus toetab pilte reaalajas (laadib ainult vajadusel), tagab korduvate andmete deduplikatsiooni ja võib kasutada erinevaid tagaplaneeringuid tegeliku salvestamise jaoks. Pakutakse ühilduvust POSIX-iga (nagu Composefs puhul, Nydus'i rakendus ühendab OverlayFS ja EROFS või FUSE mooduli funktsioone).
- Kata Containers projekti põhikoosseisu on integreeritud virtuaalmasinate haldur Dragonball, mis hakkab nüüd arenema ühisrepositorys.
- Kata-ctl utiliidile on lisatud silumisfunktsioon, et ühendada host-ümbrusest virtuaalmasinaga.
- GPU haldamise võimalusi on laiendatud ning lisatud GPU edastamise tugi konteineritesse, et toetada konfidentsiaalsete arvutuste (Confidential Container) loomist, milles tagatakse andmete, mälu ja täitmise seisundi krüpteerimine kaitse pakkumiseks hüperviisori või host-ümbruse kompromiteerimise korral.
- Runtime-rs on lisatud seadmete haldamise alamsüsteem, mida kasutatakse konteinerites või liivakasti keskkondades. Toetatakse vfio, plokk-, võrgu- ja muid seadmeid.
- Tagatud on ühilduvus OCI Runtime 1.0.2 ja Kubernetes 1.23.1-ga.
- Soovitatav Linuxi tuum on versioon 6.1.38 koos plaastritega.
- Arendus on üle viidud pideva integreerimise süsteemilt Jenkins GitHub Actions'ile.
Allikas: opennet.ru
