Utgivelse av Kata Containers 3.2 med virtualiseringsbasert isolasjon

Utgivelsen av Kata Containers 3.2-prosjektet har blitt publisert, og utvikler en stack for å organisere utførelsen av containere ved å bruke isolasjon basert på fullverdige virtualiseringsmekanismer. Prosjektet ble opprettet av Intel og Hyper ved å kombinere Clear Containers og runV-teknologier. Prosjektkoden er skrevet i Go and Rust, og distribueres under Apache 2.0-lisensen. Utviklingen av prosjektet blir overvåket av en arbeidsgruppe opprettet i regi av den uavhengige organisasjonen OpenStack Foundation, som inkluderer selskaper som Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE og ZTE .

Kata er basert på runtime, som lar deg lage kompakte virtuelle maskiner som kjører med en full hypervisor, i stedet for å bruke tradisjonelle containere som bruker en felles Linux-kjerne og er isolert ved hjelp av navnerom og cgroups. Bruken av virtuelle maskiner lar deg oppnå et høyere sikkerhetsnivå som beskytter mot angrep forårsaket av utnyttelse av sårbarheter i Linux-kjernen.

Kata Containers er fokusert på integrering i eksisterende containerisolasjonsinfrastrukturer med muligheten til å bruke lignende virtuelle maskiner for å forbedre beskyttelsen av tradisjonelle containere. Prosjektet gir mekanismer for å sikre kompatibilitet av lette virtuelle maskiner med ulike containerisolasjonsinfrastrukturer, containerorkestreringsplattformer og spesifikasjoner som OCI (Open Container Initiative), CRI (Container Runtime Interface) og CNI (Container Networking Interface). Verktøy er tilgjengelige for integrasjon med Docker, Kubernetes, QEMU og OpenStack.

Integrasjon med containeradministrasjonssystemer oppnås ved hjelp av et lag som simulerer containeradministrasjon, som får tilgang til den administrerende agenten i den virtuelle maskinen gjennom gRPC-grensesnittet og en spesiell proxy. Inne i det virtuelle miljøet, som lanseres av hypervisoren, brukes en spesielt optimert Linux-kjerne, som kun inneholder det minste settet med nødvendige evner.

Som hypervisor støtter den bruken av Dragonball Sandbox (en utgave av KVM optimalisert for containere) med QEMU-verktøysettet, samt Firecracker og Cloud Hypervisor. Systemmiljøet inkluderer en initialiseringsdemon og en agent. Agenten gir kjøring av brukerdefinerte containerbilder i OCI-format for Docker og CRI for Kubernetes. Når den brukes sammen med Docker, opprettes en separat virtuell maskin for hver container, dvs. Miljøet som kjører på toppen av hypervisoren brukes til nestet lansering av containere.

Utgivelse av Kata Containers 3.2 med virtualiseringsbasert isolasjon

For å redusere minneforbruket brukes DAX-mekanismen (direkte tilgang til filsystemet, omgå sidebufferen uten å bruke blokkenhetsnivået), og for å deduplisere identiske minneområder brukes KSM (Kernel Samepage Merging) teknologi, som lar deg å organisere deling av vertssystemressurser og koble til forskjellige gjestesystemer dele en felles systemmiljømal.

I den nye versjonen:

  • I tillegg til støtte for AMD64 (x86_64)-arkitekturen, leveres utgivelser for arkitekturene ARM64 (Aarch64) og s390 (IBM Z). Støtte for ppc64le-arkitekturen (IBM Power) er under utvikling.
  • For å organisere tilgangen til containerbilder brukes filsystemet Nydus 2.2.0, som bruker innholdsadressering for effektivt samarbeid med standardbilder. Nydus støtter on-the-fly lasting av bilder (laster kun ned ved behov), gir deduplisering av dupliserte data, og kan bruke ulike backends for faktisk lagring. POSIX-kompatibilitet er gitt (i likhet med Composefs kombinerer Nydus-implementeringen egenskapene til OverlayFS med EROFS- eller FUSE-modulen).
  • Den virtuelle maskinbehandleren Dragonball er integrert i hovedstrukturen til Kata Containers-prosjektet, som nå skal utvikles i et felles depot.
  • En feilsøkingsfunksjon er lagt til kata-ctl-verktøyet for å koble til en virtuell maskin fra vertsmiljøet.
  • GPU-administrasjonsmulighetene er utvidet og støtte er lagt til for videresending av GPUer til containere for konfidensiell databehandling (Confidential Container), som gir kryptering av data, minne og utførelsestilstand for beskyttelse i tilfelle kompromittering av vertsmiljøet eller hypervisoren.
  • Et undersystem for å administrere enheter som brukes i containere eller sandkassemiljøer er lagt til Runtime-rs. Støtter arbeid med vfio, blokk, nettverk og andre typer enheter.
  • Kompatibilitet med OCI Runtime 1.0.2 og Kubernetes 1.23.1 er gitt.
  • Det anbefales å bruke versjon 6.1.38 med patcher som Linux-kjernen.
  • Utviklingen er overført fra å bruke Jenkins kontinuerlige integrasjonssystem til GitHub Actions.

Kilde: opennet.ru

Legg til en kommentar