Release av Kata Containers 3.0 med virtualiseringsbaserad isolering

Efter två års utveckling har lanseringen av Kata Containers 3.0-projektet publicerats, som utvecklar en stack för att organisera exekveringen av containrar 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 .

Kärnan i Kata är runtime, som ger möjligheten att 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 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.

Release av Kata Containers 3.0 med virtualiseringsbaserad isolering

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.0 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:

  • En alternativ körtid (runtime-rs) föreslås, som utgör fyllningen av behållare, skrivna på språket Rust (den tidigare angivna körtiden skrevs på Go-språket). Runtime är kompatibel med OCI, CRI-O och Containerd, vilket gör att den kan användas med Docker och Kubernetes.
  • En ny dragonball hypervisor baserad på KVM och rust-vmm har föreslagits.
  • Lagt till stöd för vidarebefordran av åtkomst till GPU:n med VFIO.
  • Lade till stöd för cgroup v2.
  • Stöd för att ändra inställningar utan att ändra huvudkonfigurationsfilen har implementerats genom att ersätta block i separata filer som finns i katalogen "config.d/".
  • Rustkomponenter inkluderar ett nytt bibliotek för att säkert arbeta med filsökvägar.
  • Virtiofsd-komponenten (skriven i C) har ersatts med virtiofsd-rs (skriven i Rust).
  • Lade till stöd för sandboxning av QEMU-komponenter.
  • QEMU använder io_uring API för asynkron I/O.
  • Stöd för Intel TDX (Trusted Domain Extensions)-tillägg har implementerats för QEMU och Cloud-hypervisor.
  • Komponenter uppdaterade: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux-kärna 5.19.2.

Källa: opennet.ru

Lägg en kommentar