Vydání Kata Containers 3.2 s izolací založenou na virtualizaci

Bylo zveřejněno vydání projektu Kata Containers 3.2, který vyvíjí zásobník pro organizaci provádění kontejnerů pomocí izolace založené na plnohodnotných virtualizačních mechanismech. Projekt vytvořily společnosti Intel a Hyper spojením technologií Clear Containers a runV. Kód projektu je napsán v Go and Rust a je distribuován pod licencí Apache 2.0. Na vývoj projektu dohlíží pracovní skupina vytvořená pod záštitou nezávislé organizace OpenStack Foundation, která zahrnuje společnosti jako Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE a ZTE .

Kata je založena na běhovém prostředí, které umožňuje vytvářet kompaktní virtuální stroje, které běží pomocí plného hypervizoru, namísto použití tradičních kontejnerů, které používají běžné linuxové jádro a jsou izolované pomocí jmenných prostorů a cgroups. Použití virtuálních strojů umožňuje dosáhnout vyšší úrovně zabezpečení, která chrání před útoky způsobenými zneužitím zranitelností v jádře Linuxu.

Kata Containers se zaměřuje na integraci do stávajících infrastruktur pro izolaci kontejnerů se schopností používat podobné virtuální stroje ke zvýšení ochrany tradičních kontejnerů. Projekt poskytuje mechanismy pro zajištění kompatibility lehkých virtuálních strojů s různými infrastrukturami pro izolaci kontejnerů, platformami pro orchestraci kontejnerů a specifikacemi, jako je OCI (Open Container Initiative), CRI (Container Runtime Interface) a CNI (Container Networking Interface). K dispozici jsou nástroje pro integraci s Docker, Kubernetes, QEMU a OpenStack.

Integrace se systémy správy kontejnerů je dosaženo pomocí vrstvy, která simuluje správu kontejnerů, která přistupuje k agentovi správy ve virtuálním počítači prostřednictvím rozhraní gRPC a speciálního proxy. Uvnitř virtuálního prostředí, které spouští hypervizor, je použito speciálně optimalizované linuxové jádro obsahující pouze minimální sadu nezbytných schopností.

Jako hypervizor podporuje použití Dragonball Sandbox (edice KVM optimalizované pro kontejnery) se sadou nástrojů QEMU a také Firecracker a Cloud Hypervisor. Systémové prostředí zahrnuje inicializačního démona a agenta. Agent poskytuje spouště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 se pro každý kontejner vytvoří samostatný virtuální stroj, tzn. Prostředí běžící nad hypervisorem se používá pro vnořené spouštění kontejnerů.

Vydání Kata Containers 3.2 s izolací založenou na virtualizaci

Pro snížení spotřeby paměti se používá mechanismus DAX (přímý přístup do souborového systému, obcházení mezipaměti stránek bez použití úrovně blokového zařízení) a pro deduplikaci identických paměťových oblastí se používá technologie KSM (Kernel Samepage Merging), která umožňuje pro organizaci sdílení zdrojů hostitelského systému a připojení k různým hostujícím systémům sdílejte společnou šablonu systémového prostředí.

V nové verzi:

  • Kromě podpory pro architekturu AMD64 (x86_64) jsou k dispozici vydání pro architektury ARM64 (Aarch64) a s390 (IBM Z). Podpora pro architekturu ppc64le (IBM Power) je ve vývoji.
  • Pro organizaci přístupu k obrázkům kontejnerů se používá souborový systém Nydus 2.2.0, který využívá adresování obsahu pro efektivní spolupráci se standardními obrázky. Nydus podporuje načítání obrázků on-the-fly (stahování pouze v případě potřeby), poskytuje deduplikaci duplicitních dat a může používat různé backendy pro skutečné úložiště. Je zajištěna kompatibilita POSIX (podobně jako Composefs, implementace Nydus kombinuje možnosti OverlayFS s modulem EROFS nebo FUSE).
  • Správce virtuálních strojů Dragonball byl integrován do hlavní struktury projektu Kata Containers, který bude nyní vyvíjen ve společném úložišti.
  • Do nástroje kata-ctl byla přidána funkce ladění pro připojení k virtuálnímu počítači z hostitelského prostředí.
  • Možnosti správy GPU byly rozšířeny a byla přidána podpora pro předávání GPU do kontejnerů pro důvěrné výpočty (Confidential Container), který poskytuje šifrování dat, paměti a stavu provádění pro ochranu v případě kompromitace hostitelského prostředí nebo hypervizoru.
  • Do Runtime-rs byl přidán subsystém pro správu zařízení používaných v kontejnerech nebo prostředích sandbox. Podporuje práci s vfio, blokovými, síťovými a dalšími typy zařízení.
  • Je zajištěna kompatibilita s OCI Runtime 1.0.2 a Kubernetes 1.23.1.
  • Jako linuxové jádro se doporučuje používat vydání 6.1.38 s opravami.
  • Vývoj byl převeden z používání kontinuálního integračního systému Jenkins na GitHub Actions.

Zdroj: opennet.ru

Přidat komentář