A Kata Containers 3.0 kiadása virtualizáció alapú elkülönítéssel

Két év fejlesztés után megjelent a Kata Containers 3.0 projekt kiadása, amely a konténerek teljes körű virtualizációs mechanizmusokon alapuló izolációval történő végrehajtásának megszervezésére szolgáló verem fejlesztését teszi lehetővé. A projektet az Intel és a Hyper hozta létre a Clear Containers és a runV technológiák kombinálásával. A projekt kódja Go and Rust nyelven íródott, és az Apache 2.0 licenc alatt kerül terjesztésre. A projekt fejlesztését az OpenStack Foundation független szervezet égisze alatt létrehozott munkacsoport felügyeli, amelybe olyan cégek tartoznak, mint a Canonical, a China Mobile, a Dell/EMC, az EasyStack, a Google, a Huawei, a NetApp, a Red Hat, a SUSE és a ZTE. .

A Kata középpontjában a futási környezet áll, amely lehetővé teszi olyan kompakt virtuális gépek létrehozását, amelyek teljes hypervisor használatával futnak a hagyományos Linux-kernelt használó, névterekkel és cgroupokkal elkülönített konténerek helyett. A virtuális gépek használata lehetővé teszi a magasabb szintű biztonság elérését, amely megvédi a Linux kernel sebezhetőségeinek kihasználása által okozott támadásokat.

A Kata Containers a meglévő konténer-izolációs infrastruktúrákba való integrációra összpontosít, és képes hasonló virtuális gépeket használni a hagyományos konténerek védelmének fokozására. A projekt olyan mechanizmusokat biztosít, amelyek biztosítják a könnyű virtuális gépek kompatibilitását különféle konténer-izolációs infrastruktúrákkal, konténer-rendezési platformokkal és olyan specifikációkkal, mint az OCI (Open Container Initiative), CRI (Container Runtime Interface) és CNI (Container Networking Interface). Eszközök állnak rendelkezésre a Docker, Kubernetes, QEMU és OpenStack integrációhoz.

A Kata Containers 3.0 kiadása virtualizáció alapú elkülönítéssel

A tárolókezelési rendszerekkel való integrációt egy olyan réteg segítségével érik el, amely szimulálja a tárolókezelést, amely a virtuális gépben lévő kezelő ügynököt a gRPC felületen és egy speciális proxyn keresztül éri el. A hypervisor által elindított virtuális környezetben egy speciálisan optimalizált Linux kernelt használnak, amely csak a szükséges képességek minimális készletét tartalmazza.

Hipervizorként támogatja a Dragonball Sandbox (a KVM konténerekre optimalizált kiadása) használatát a QEMU eszközkészlettel, valamint a Firecracker és a Cloud Hypervisor használatát. A rendszerkörnyezet tartalmaz egy inicializálási démont és egy ügynököt. Az ügynök biztosítja a felhasználó által meghatározott tárolóképek végrehajtását OCI formátumban a Docker és CRI formátumban a Kubernetes számára. A Dockerrel együtt használva minden tárolóhoz külön virtuális gép jön létre, pl. A hipervizor tetején futó környezetet a konténerek beágyazott indítására használják.

A Kata Containers 3.0 kiadása virtualizáció alapú elkülönítéssel

A memóriafelhasználás csökkentése érdekében a DAX mechanizmust használják (közvetlen hozzáférés a fájlrendszerhez, az oldal gyorsítótárának megkerülése a blokkeszköz-szint használata nélkül), az azonos memóriaterületek duplikálására pedig a KSM (Kernel Samepage Merging) technológiát alkalmazzák, amely lehetővé teszi a gazdarendszer erőforrásainak megosztásának megszervezéséhez és a különböző vendégrendszerekhez való csatlakozáshoz közös rendszerkörnyezeti sablonon osztoznak.

Az új verzióban:

  • Alternatív futási környezet (runtime-rs) javasolt, amely a konténerek feltöltését képezi, Rust nyelven írva (a korábban biztosított futási környezet Go nyelven íródott). A Runtime kompatibilis az OCI-val, a CRI-O-val és a Containerd-del, lehetővé téve a Docker és a Kubernetes használatát.
  • Javasoltak egy új, KVM és rust-vmm alapú Dragonball hypervisort.
  • Hozzáadott támogatás a GPU-hoz való hozzáférés továbbításához VFIO segítségével.
  • Támogatás hozzáadva a cgroup v2-hez.
  • A beállítások módosításának támogatása a fő konfigurációs fájl módosítása nélkül a blokkokat a „config.d/” könyvtárban található külön fájlokban cseréli le.
  • A Rust összetevők egy új könyvtárat tartalmaznak a fájlútvonalakkal való biztonságos munkavégzéshez.
  • A virtiofsd komponens (C-ben írva) lecserélődött a virtiofsd-rs-re (Rust nyelven írva).
  • Hozzáadott támogatás a QEMU komponensek sandbox-kezeléséhez.
  • A QEMU az io_uring API-t használja az aszinkron I/O-hoz.
  • Az Intel TDX (Trusted Domain Extensions) bővítmények támogatása megvalósult a QEMU és a Cloud-hypervisor esetében.
  • Frissített összetevők: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.

Forrás: opennet.ru

Hozzászólás