Izdaja Kata Containers 3.2 z izolacijo, ki temelji na virtualizaciji

Objavljena je bila izdaja projekta Kata Containers 3.2, 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 .

Kata temelji na izvajalnem okolju, ki vam 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 skupin c. 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.

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

  • Poleg podpore za arhitekturo AMD64 (x86_64) so ​​na voljo izdaje za arhitekturi ARM64 (Aarch64) in s390 (IBM Z). Podpora za arhitekturo ppc64le (IBM Power) je v razvoju.
  • Za organiziranje dostopa do slik vsebnikov se uporablja datotečni sistem Nydus 2.2.0, ki uporablja naslavljanje vsebine za učinkovito sodelovanje s standardnimi slikami. Nydus podpira sprotno nalaganje slik (prenosi samo, ko je to potrebno), zagotavlja odstranjevanje dvojnikov podvojenih podatkov in lahko uporablja različna ozadja za dejansko shranjevanje. Zagotovljena je združljivost s POSIX (podobno kot Composefs tudi izvedba Nydus združuje zmogljivosti OverlayFS z modulom EROFS ali FUSE).
  • Upravljalnik virtualnega stroja Dragonball je bil integriran v glavno strukturo projekta Kata Containers, ki bo zdaj razvit v skupnem repozitoriju.
  • Pripomočku kata-ctl je bila dodana funkcija odpravljanja napak za povezovanje z virtualnim strojem iz gostiteljskega okolja.
  • Razširjene so bile zmožnosti upravljanja GPE in dodana je podpora za posredovanje GPE v vsebnike za zaupno računalništvo (Confidential Container), ki zagotavlja šifriranje podatkov, pomnilnika in stanja izvajanja za zaščito v primeru ogrožanja gostiteljskega okolja ali hipervizorja.
  • V Runtime-rs je bil dodan podsistem za upravljanje naprav, ki se uporabljajo v vsebnikih ali okoljih peskovnika. Podpira delo z vfio, blok, omrežjem in drugimi vrstami naprav.
  • Zagotovljena je združljivost z OCI Runtime 1.0.2 in Kubernetes 1.23.1.
  • Priporočljivo je, da kot jedro Linuxa uporabite izdajo 6.1.38 s popravki.
  • Razvoj je bil prenesen iz uporabe Jenkinsovega sistema za stalno integracijo na GitHub Actions.

Vir: opennet.ru

Dodaj komentar