Ilmuni väljaanne projektist Kata Containers 3.4, mis arendab konteinerite täitmise ökosüsteemi, kasutades täielikke virtualiseerimismehhanismide isolatsiooni. Projekt on loodud ettevõtete Intel ja Hyper ühinemise kaudu, ühendades Clear Containers ja runV tehnoloogiad. Projekti kood on kirjutatud keeltes Go ja Rust ning levitatakse litsentsi Apache 2.0 alusel. Projekti arendust juhib töögrupp, mis on loodud iseseisva organisatsiooni OpenInfra Foundation raames, 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.
Konteineripiltide juurde pääsemiseks kasutatakse failisüsteemi Nydus, mis kasutab sisu adresseerimist tõhusaks koostööks tüüpiliste piltidega. Nydus toetab piltide kiiret laadimist (laadib ainult vajaliku korral), tagab korduvate andmete deduplikatsiooni ja saab kasutada erinevaid taustsüsteeme tegelikuks salvestamiseks. Pakutakse ühilduvust POSIX-iga (sarnaselt Composefs-iga, Nydus elluviimise variatsioon koos OverlayFS ja EROFS või FUSE mooduliga).
Uues versioonis:
- Virtuaalmasinate manager Dragonball on saanud tuge GPU kuumplugimise ja MTRR (Memory-Type Range Registers) registrite kasutamise toetamise, et võimaldada juurdepääsu füüsilise mälu aladele.
- runtime-rs-s, Rusti keeles rakendatud runtime'i versioon, on tagatud täiuslik käitlemine, pid ja tid, samuti on ümber töötatud qemu draiver, mida kasutatakse s390 arhitektuuriga süsteemidel (IBM Z).
- Uuendatud teenust snapshots'ite tegemiseks Nydus FS-i kasutamisega.
- Konteineripiltide haldusteenuses on suurendatud mälu töötlemise efektiivsust.
- Cgroups-v2 hierarhia montaaž on vaikimisi lubatud käivitamisel systemd abil.
- Lisatud võimalus määrata ajaülevaade, et piirata väga suurte piltide hankimise aega külalissüsteemides.
- Toetatud OPA-agendi (Open Policy Agent) ehitamise võimalus ppc64le ja s390x arhitektuuridele.
Allikas: opennet.ru
