Avaldatud on projekti Kata Containers 3.2 väljalase, mis arendab konteinerite käitamise virna, kasutades isolatsiooni täisfunktsionaalsete virtualiseerimismehhanismide alusel. Projekt on loodud ettevõtete Intel ja Hyper poolt, ühendades Clear Containers ja runV tehnoloogiad. Projekti kood on kirjutatud Go ja Rust keeltes ning levitatakse Apache 2.0 litsentsi alusel. Projekti arengut juhib töörühm, mis on loodud sõltumatu organisatsiooni OpenStack Foundation kaitse alla, milles osalevad sellised ettevõtted nagu Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ja ZTE.
Kata aluseks on runtime, mis võimaldab luua kompaktseid virtuaalseid masinaid, mida käitatakse täieliku hüperviisori kaudu, mitte traditsiooniliste konteinerite kaudu, mis kasutavad jagatud Linuxi kernelit ja isolatsiooni nimekirjade ja cgroups'i abil. Kasutamine virtuaalmasinad tagab kõrgema turvalisuse taseme, mis kaitseb Linuxi tuuma haavatavuste ärakasutamise põhjustatud rünnakute eest.
Kata Containers on suunatud olemasolevate konteineri isoleerimise infrastruktuuride integreerimisele, pakkudes võimalusi sarnaste virtuaalmasinate kasutamiseks traditsiooniliste konteinerite kaitse tugevdamiseks. Projekt pakub mehhanisme kergete virtuaalmasinate ühilduvuse tagamiseks erinevate isoleerimise infrastruktuuride, konteinerite orkestreerimise platvormide ja spetsifikatsioonidega nagu OCI (Open Container Initiative), CRI (Container Runtime Interface) ja CNI (Container Networking Interface). Integreerimise vahendid on saadaval Dockeriga, Kubernetesega, QEMU ja OpenStackiga.
Integreerimine konteinerihaldussüsteemidega toimub liidese kaudu, mis simuleerib konteineri haldamist, pöördudes gRPC-liidese ja spetsiaalse proksi kaudu halduri agendi poole virtuaalmasinas. Virtuaalses keskkonnas, mille käivitab hüperviisor, kasutatakse spetsiaalselt optimeeritud Linuxi kernelit, mis sisaldab ainult minimaalset vajalikku funktsionaalsust.
Hüperviisorina toetatakse Dragonball Sandbox'i (KVM-i redaktsioon, mis on optimeeritud konteinerite jaoks) koos QEMU tööriistadega, samuti Firecracker ja Cloud Hypervisor. Süsteemi keskkond sisaldab initsialiseerimise deemonit ja agendid (Agent). Agent tagab, et kasutaja määratud OCI formaadi konteineripildid Dockerile ja CRI-le Kuberneteses saavad teostatud. Dockeriga koos kasutamisel luuakse igale konteinerile eraldi virtuaalne masin, st hüperviisoril põhinev keskkond rakendatakse konteinerite sissetoomiseks.

Mälu tarbimise vähendamiseks kasutatakse DAX-i (otsefailisüsteemi juurdepääs, mööda lehe vahemälu, ilma plokk-seadmestiku tasandita), ning KSM-i (Kernel Samepage Merging) tehnoloogia deduplikatsiooni jaoks sarnaste mälu piirkondade jaoks, mis võimaldab korraldada host-süsteemi ressursside jagamist ning ühise süsteemi keskkonna šablooni ühendamist erinevate külg-süsteemidega.
Uues versioonis:
- Lisaks AMD64 (x86_64) arhitektuuri toele on tagatud ka ARM64 (Aarch64) ja s390 (IBM Z) arhitektuuride väljalaskmine. Töös on tosupport ppc64le (IBM Power) arhitektuuri.
- Konteineripiltide juurde pääsemiseks kasutatakse failisüsteemi Nydus 2.2.0, mis kasutab sisu aadresseerimist tõhusaks koostööks tüüpiliste piltidega. Nydus toetab piltide laadimist vajadusel (laadib ainult siis, kui on vajalik), tagab korduvate andmete deduplikatsiooni ja saab kasutada erinevaid taustateenuseid andmete tegelikuks salvestamiseks. Pakutakse POSIX ühilduvust (sarnaselt Composefsi rakendusele, ühendab Nydus OverlayFS ja EROFS või FUSE mooduli).
- Kata Containers projekti põhikomplekti on integreeritud virtuaalmasinate haldur Dragonball, mis areneb nüüd ühiselt hoidlas.
- Tööriista kata-ctl on lisatud silumisfunktsioon virtuaalmasinale ühendamiseks host keskkonnast.
- GPU juhtimise võimalused on laiendatud ja lisatud tugi GPU edastamiseks konteineritesse konfidentsiaalsete arvutuste jaoks, mille korral tagatakse andmete, mälu ja tööseisundi krüpteerimine, et kaitsta juhul, kui host keskkond või hüperviisor on kompromiteeritud.
- Runtime-rs on lisatud seadmete haldussubsystem, mida kasutatakse konteinerites või liivakastikeskkondades. Toetatakse töötlust vfio, plokkide, võrgutüüpide ja teiste seadmetega.
- Tagatud on ühilduvus OCI Runtime 1.0.2 ja Kubernetes 1.23.1-ga.
- Soovitatav Linuxi tuum on 6.1.38 versioon koos plaastritega.
- Arendus on viidud üle continous integration süsteemilt Jenkins GitHub Actions-le.
Allikas: opennet.ru
