Izdaja Kata Containers 3.0 z izolacijo, ki temelji na virtualizaciji

Po dveh letih razvoja je bila objavljena izdaja projekta Kata Containers 3.0, ki razvija sklad za organizacijo izvajanja vsebnikov z uporabo izolacije, ki temelji na popolnih mehanizmih virtualizacije. Projekt sta ustvarila Intel in Hyper s kombinacijo tehnologij Clear Containers in runV. Koda projekta je napisana v Go in Rust in se distribuira pod licenco Apache 2.0. Nad razvojem projekta bdi delovna skupina, ustanovljena pod okriljem neodvisne organizacije OpenStack Foundation, ki vključuje podjetja, kot so Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE in ZTE .

Srce Kata je izvajalno okolje, ki omogoča ustvarjanje kompaktnih navideznih strojev, ki delujejo s polnim hipervizorjem, namesto z uporabo tradicionalnih vsebnikov, ki uporabljajo skupno jedro Linuxa in so izolirani z uporabo imenskih prostorov in cgroups. Uporaba virtualnih strojev omogoča doseganje višje ravni varnosti, ki ščiti pred napadi, ki jih povzroči izkoriščanje ranljivosti v jedru Linuxa.

Kata Containers je osredotočena na integracijo v obstoječe infrastrukture za izolacijo kontejnerjev z možnostjo uporabe podobnih virtualnih strojev za izboljšanje zaščite tradicionalnih kontejnerjev. Projekt zagotavlja mehanizme za zagotavljanje združljivosti lahkih virtualnih strojev z različnimi infrastrukturami za izolacijo vsebnikov, platformami za orkestracijo vsebnikov in specifikacijami, kot so OCI (Open Container Initiative), CRI (Container Runtime Interface) in CNI (Container Networking Interface). Na voljo so orodja za integracijo z Docker, Kubernetes, QEMU in OpenStack.

Izdaja Kata Containers 3.0 z izolacijo, ki temelji na virtualizaciji

Integracija s sistemi za upravljanje kontejnerjev je dosežena s slojem, ki simulira upravljanje kontejnerjev, ki preko vmesnika gRPC in posebnega proxyja dostopa do agenta za upravljanje v virtualnem stroju. Znotraj virtualnega okolja, ki ga zažene hipervizor, se uporablja posebej optimizirano jedro Linuxa, ki vsebuje le minimalni nabor potrebnih zmogljivosti.

Kot hipervizor podpira uporabo Dragonball Sandbox (izdaja KVM, optimizirana za vsebnike) s kompletom orodij QEMU, kot tudi Firecracker in Cloud Hypervisor. Sistemsko okolje vključuje inicializacijski demon in agenta. Agent zagotavlja izvajanje uporabniško definiranih slik vsebnika v formatu OCI za Docker in CRI za Kubernetes. Pri uporabi v povezavi z Dockerjem se za vsak vsebnik ustvari ločen virtualni stroj, tj. Okolje, ki se izvaja na vrhu hipervizorja, se uporablja za ugnezdeni zagon vsebnikov.

Izdaja Kata Containers 3.0 z izolacijo, ki temelji na virtualizaciji

Za zmanjšanje porabe pomnilnika se uporablja mehanizem DAX (neposreden dostop do datotečnega sistema, mimo predpomnilnika strani brez uporabe nivoja blokovne naprave), za deduplikacijo enakih pomnilniških področij pa se uporablja tehnologija KSM (Kernel Samepage Merging), ki omogoča za organizacijo souporabe virov gostiteljskega sistema in povezovanje z različnimi gostujočimi sistemi delite skupno predlogo sistemskega okolja.

V novi različici:

  • Predlagano je alternativno izvajalno okolje (runtime-rs), ki tvori polnjenje vsebnikov, napisano v jeziku Rust (prejšnje dobavljeno izvajalno okolje je bilo napisano v jeziku Go). Runtime je združljiv z OCI, CRI-O in Containerd, kar omogoča uporabo z Dockerjem in Kubernetesom.
  • Predlagan je bil nov hipervizor Dragonball, ki temelji na KVM in rust-vmm.
  • Dodana podpora za posredovanje dostopa do GPE z uporabo VFIO.
  • Dodana podpora za cgroup v2.
  • Podpora za spreminjanje nastavitev brez spreminjanja glavne konfiguracijske datoteke je bila implementirana z zamenjavo blokov v ločenih datotekah v imeniku »config.d/«.
  • Komponente Rust vključujejo novo knjižnico za varno delo s potmi datotek.
  • Komponenta virtiofsd (napisana v C) je bila nadomeščena z virtiofsd-rs (napisana v Rust).
  • Dodana podpora za komponente QEMU v peskovniku.
  • QEMU uporablja API io_uring za asinhroni V/I.
  • Podpora za razširitve Intel TDX (Trusted Domain Extensions) je bila implementirana za QEMU in Cloud-hypervisor.
  • Posodobljene komponente: QEMU 6.2.0, Hypervisor v oblaku 26.0, Firecracker 1.1.0, jedro Linuxa 5.19.2.

Vir: opennet.ru

Dodaj komentar