Udgivelsen af Kata Containers 3.4, som udvikler en stab til kørsel af containere ved hjælp af isolation baseret på fulde virtualiseringsmekanismer, er offentliggjort. Projektet er skabt af virksomhederne Intel og Hyper ved at kombinere teknologierne Clear Containers og runV. Koden til projektet er skrevet i Go og Rust og distribueres under Apache 2.0-licensen. Udviklingen af projektet superviseres af en arbejdsgruppe oprettet under den uafhængige organisation OpenInfra Foundation, som inkluderer virksomheder som Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE og ZTE.
Kernen i Kata er et runtime, der gør det muligt at oprette kompakte virtuelle maskiner, der kører ved hjælp af en fuldgyldig hypervisor i stedet for at anvende traditionelle containere, som bruger et fælles Linux-kerne og er isoleret ved hjælp af namespaces og cgroups. Anvendelsen virtual machines sikrer et højere sikkerhedsniveau, der beskytter mod angreb forårsaget af udnyttelse af sårbarheder i Linux-kernen.
Kata Containers er designet til integration i eksisterende containerisolationsinfrastrukturer med mulighed for at anvende sådanne virtuelle maskiner til at styrke beskyttelsen af traditionelle containere. Projektet tilbyder mekanismer til at sikre kompatibiliteten af letvægts virtuelle maskiner med forskellige containerisolationsinfrastrukturer, containerorkestreringsplatforme og specifikationer såsom OCI (Open Container Initiative), CRI (Container Runtime Interface) og CNI (Container Networking Interface). Værktøjer til integration med Docker, Kubernetes, QEMU og OpenStack er tilgængelige.
Integration med containerstyringssystemer opnås ved hjælp af et lag, der simulerer containerstyring, som via gRPC-grænsefladen og en specialiseret proxy henvender sig til det administrerende agent i den virtuelle maskine. Inden for det virtuelle miljø, der køres af hypervisoren, anvendes en specielt optimeret Linux-kerne, der kun indeholder det minimale nødvendige sæt af funktioner.
Som hypervisor understøttes brugen af Dragonball Sandbox (en KVM-revision, optimeret til containere) med QEMU-værktøjerne samt Firecracker og Cloud Hypervisor. Det systemmiljø inkluderer en initialiseringsdæmon og en agent (Agent). Agenten muliggør kørsel af brugerspecificerede containerbilleder i OCI-format for Docker og CRI for Kubernetes. Når det bruges sammen med Docker, oprettes der en separat virtual machine, dvs. et kørende miljø oven på hypervisoren anvendes til indlejret start af containere.

For at reducere hukommelsesforbruget anvendes mekanismen DAX (direct access to file system bypassing page cache without using block device layer), og til deduplikeringsmuligheder af ensartede hukommelsesområder anvendes KSM-teknologi (Kernel Samepage Merging), hvilket muliggør deling af ressourcer på værtsystemet og tilslutning af et fælles skabelon systemmiljø til forskellige gæstesystemer.
For at organisere adgangen til containerbilleder anvendes filsystemet Nydus, som bruger indholdsadresseregistrering for effektivt samarbejde med standardbilleder. Nydus understøtter on-the-fly download af billeder (henter kun når der er behov), sikrer deduplikeringsmuligheder for gentagne data og kan anvende forskellige backend-lagringsmetoder. Der tilbydes kompatibilitet med POSIX (på lignende måde med Composefs, Nydus-implementeringen kombinerer mulighederne fra OverlayFS med EROFS eller FUSE-modulen).
I den nye version:
- I Dragonball's virtuelle maskinmanager er der tilføjet støtte til hot-plugging af GPU og muligheden for at bruge MTRR (Memory-Type Range Registers) til at organisere adgangen til fysiske hukommelsesområder.
- I runtime-rs, en implementering af runtime i Rust-sprog, er der sikret fuld håndtering af tråde, pid og tid, og driveren qemu er blevet redesignet, som benyttes på systemer med s390-arkitektur (IBM Z).
- Tjenesten til oprettelse af snapshots med Nydus FS er blevet opdateret.
- I containerbilledeadministrationstjenesten er der øget effektivitet i hukommelsesarbejdet.
- Montering af cgroups-v2 hierarkiet ved opstart via systemd er nu aktiveret som standard.
- Muligheden for at definere et timeout for at begrænse tiden til at modtage meget store billeder i gæstesystemer er blevet tilføjet.
- Tilføjet støtte til OPA-agent (Open Policy Agent) byggeri for ppc64le og s390x arkitekturer.
Kilde: opennet.ru
