Vydání Kata Containers 3.2 s izolací na bázi virtualizace

Byl vydán projekt Kata Containers 3.2, který rozvíjí stack pro organizaci provádění kontejnerů s využitím izolace na bázi plnohodnotných mechanismů virtualizace. Projekt byl vytvořen společnostmi Intel a Hyper sloučením technologií Clear Containers a runV. Kód projektu je napsán v jazycích Go a Rust a je distribuován pod licencí Apache 2.0. Rozvoj projektu je řízen pracovním týmem vytvořeným pod hlavičkou nezávislé organizace OpenStack Foundation, do které patří společnosti jako Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE a ZTE.

Základem Kata je runtime, který umožňuje vytvářet kompaktní virtuální stroje, provozované s využitím plnohodnotného hypervizoru, místo používání tradičních kontejnerů, které využívají společné jádro Linuxu a jsou izolovány pomocí prostorů jmen a cgroups. Použití virtuálních strojů umožňuje dosáhnout vyšší úrovně bezpečnosti, která chrání před útoky způsobenými zneužíváním zranitelností v jádře Linuxu.

Kata Containers se zaměřuje na integraci do stávajících infrastruktur kontejnerové izolace s možností využití podobných virtuálních strojů pro posílení ochrany tradičních kontejnerů. Projekt poskytuje mechanismy pro zajištění kompatibility lehkých virtuálních strojů s různými infrastrukturami kontejnerové izolace, platformami pro orchestraci kontejnerů a specifikacemi, jako jsou OCI (Open Container Initiative), CRI (Container Runtime Interface) a CNI (Container Networking Interface). Jsou dostupné prostředky pro integraci s Dockerem, Kubernetes, QEMU a OpenStack.

Integrace se systémy správy kontejnerů je dosažena pomocí vrstvy, která simuluje správu kontejneru, a která prostřednictvím gRPC rozhraní a speciálního proxy se obrací na řídícího agenta ve virtuálním stroji. Uvnitř virtuálního prostředí, které je spouštěno hypervizorem, se používá speciálně optimalizované jádro Linuxu, které obsahuje pouze minimální sadu potřebných funkcí.

Jako hypervisor je podporováno použití Dragonball Sandbox (KVM edice optimalizovaná pro kontejnery) s nástrojem QEMU, stejně jako Firecracker a Cloud Hypervisor. Systémové prostředí zahrnuje démon inicializace a agenta (Agent). Agent zajišťuje provádění uživatelsky definovaných obrazů kontejnerů ve formátu OCI pro Docker a CRI pro Kubernetes. Při použití ve spojení s Dockerem je pro každý kontejner vytvořena samostatná virtuální stroj, tj. spuštěné prostředí nad hypervisorem se používá pro vnořené spouštění kontejnerů.

Vydání Kata Containers 3.2 s izolací na bázi virtualizace

Pro snížení spotřeby paměti je používán mechanismus DAX (přímý přístup k FS mimo stránkovou mezipaměť bez aplikace úrovně blokových zařízení), a pro deduplikaci stejných oblastí paměti je použita technologie KSM (Kernel Samepage Merging), což umožňuje organizovat sdílení zdrojů hostitelského systému a připojit ke různým hostovaným systémům společný šablonový systém.

V nové verzi:

  • Kromě podpory architektury AMD64 (x86_64) bylo zajištěno vytváření verzí pro architektury ARM64 (Aarch64) a s390 (IBM Z). Podpora architektury ppc64le (IBM Power) je ve vývoji.
  • Pro organizaci přístupu k obrazům kontejnerů je využíván souborový systém Nydus 2.2.0, který používá adresaci podle obsahu pro efektivní spolupráci s typovými obrazy. Nydus podporuje načítání obrazů za běhu (načítá pouze v případě potřeby), zajišťuje deduplikaci opakujících se dat a může používat různé backendy pro skutečné uložení. Je poskytována kompatibilita s POSIX (analogicky k Composefs, implementace Nydus kombinuje možnosti OverlayFS s EROFS nebo FUSE-modulem).
  • Do hlavního rámce projektu Kata Containers byl integrován správce virtuálních strojů Dragonball, který nyní bude vyvíjen v společném repozitáři.
  • Do utility kata-ctl byla přidána debugovací funkce pro připojení k virtuálnímu stroji z hostitelského prostředí.
  • Byly rozšířeny možnosti správy GPU a přidána podpora pro předávání GPU do kontejnerů pro důvěrné výpočty (Confidential Container), které zajišťuje šifrování dat, paměti a stavu provádění pro ochranu v případě kompromitace hostitelského prostředí nebo hypervisoru.
  • Do Runtime-rs byla přidána podsystém správy zařízení používaných v kontejnerech nebo sandboxových prostředích. Podporována je práce s vfio, blokovými, síťovými a dalšími typy zařízení.
  • Byla zajištěna kompatibilita s OCI Runtime 1.0.2 a Kubernetes 1.23.1.
  • Jako doporučené jádro Linuxu se má používat verze 6.1.38 s patchemi.
  • Vývoj byl přenesen z používání systému kontinuální integrace Jenkins na GitHub Actions.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster