Release av Kata Containers 3.2 med virtualiseringsbaserad isolering

Utgivningen av Kata Containers 3.2-projektet har publicerats, som utvecklar en stack för att organisera exekveringen av behållare med hjälp av isolering baserad på fullfjädrade virtualiseringsmekanismer. Projektet skapades av Intel och Hyper genom att kombinera Clear Containers och runV-teknologier. Projektkoden är skriven i Go and Rust och distribueras under Apache 2.0-licensen. Utvecklingen av projektet övervakas av en arbetsgrupp skapad under den oberoende organisationen OpenStack Foundation, som omfattar företag som Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE och ZTE .

Kata är baserad på runtime, vilket låter dig skapa kompakta virtuella maskiner som körs med en fullständig hypervisor, istället för att använda traditionella behållare som använder en gemensam Linux-kärna och som är isolerade med hjälp av namnutrymmen och cgroups. Användningen av virtuella maskiner gör att du kan uppnå en högre säkerhetsnivå som skyddar mot attacker orsakade av exploatering av sårbarheter i Linux-kärnan.

Kata Containers är fokuserat på integration i befintliga containerisoleringsinfrastrukturer med möjligheten att använda liknande virtuella maskiner för att förbättra skyddet av traditionella containrar. Projektet tillhandahåller mekanismer för att säkerställa kompatibilitet av lättvikts virtuella maskiner med olika containerisoleringsinfrastrukturer, containerorkestreringsplattformar och specifikationer såsom OCI (Open Container Initiative), CRI (Container Runtime Interface) och CNI (Container Networking Interface). Verktyg finns tillgängliga för integration med Docker, Kubernetes, QEMU och OpenStack.

Integration med containerhanteringssystem uppnås med hjälp av ett lager som simulerar containerhantering, som får åtkomst till den hanterande agenten i den virtuella maskinen via gRPC-gränssnittet och en speciell proxy. Inuti den virtuella miljön, som lanseras av hypervisorn, används en speciellt optimerad Linux-kärna, som endast innehåller den minsta uppsättningen nödvändiga funktioner.

Som hypervisor stöder den användningen av Dragonball Sandbox (en utgåva av KVM optimerad för containrar) med QEMU-verktygslådan, såväl som Firecracker och Cloud Hypervisor. Systemmiljön inkluderar en initialiseringsdemon och en agent. Agenten tillhandahåller exekvering av användardefinierade behållarbilder i OCI-format för Docker och CRI för Kubernetes. När den används i kombination med Docker skapas en separat virtuell maskin för varje behållare, d.v.s. Miljön som körs ovanpå hypervisorn används för kapslad lansering av behållare.

Release av Kata Containers 3.2 med virtualiseringsbaserad isolering

För att minska minnesförbrukningen används DAX-mekanismen (direkt åtkomst till filsystemet, kringgå sidcachen utan att använda blockenhetsnivån), och för att deduplicera identiska minnesområden används KSM-teknik (Kernel Samepage Merging), vilket gör att du att organisera delning av värdsystemresurser och ansluta till olika gästsystem dela en gemensam systemmiljömall.

I den nya versionen:

  • Förutom stöd för AMD64 (x86_64)-arkitekturen tillhandahålls utgåvor för arkitekturerna ARM64 (Aarch64) och s390 (IBM Z). Stöd för ppc64le-arkitekturen (IBM Power) är under utveckling.
  • För att organisera åtkomst till containerbilder används filsystemet Nydus 2.2.0 som använder innehållsadressering för effektivt samarbete med standardbilder. Nydus stöder direktladdning av bilder (nedladdningar endast vid behov), tillhandahåller deduplicering av dubbletter av data och kan använda olika backends för faktisk lagring. POSIX-kompatibilitet tillhandahålls (i likhet med Composefs kombinerar Nydus-implementeringen funktionerna hos OverlayFS med EROFS- eller FUSE-modulen).
  • Dragonballs virtuella maskinhanterare har integrerats i huvudstrukturen för Kata Containers-projektet, som nu kommer att utvecklas i ett gemensamt arkiv.
  • En felsökningsfunktion har lagts till i kata-ctl-verktyget för att ansluta till en virtuell maskin från värdmiljön.
  • Möjligheterna för GPU-hantering har utökats och stöd har lagts till för vidarebefordran av GPU:er till behållare för konfidentiell datoranvändning (Confidential Container), vilket ger kryptering av data, minne och exekveringstillstånd för skydd i händelse av en kompromiss med värdmiljön eller hypervisorn.
  • Ett undersystem för att hantera enheter som används i container- eller sandlådemiljöer har lagts till i Runtime-rs. Stöder arbete med vfio, block, nätverk och andra typer av enheter.
  • Kompatibilitet med OCI Runtime 1.0.2 och Kubernetes 1.23.1 tillhandahålls.
  • Det rekommenderas att använda version 6.1.38 med patchar som Linux-kärna.
  • Utvecklingen har överförts från att använda Jenkins kontinuerliga integrationssystem till GitHub Actions.

Källa: opennet.ru

Lägg en kommentar