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

Po dvou letech vývoje bylo zveřejněno vydání projektu Kata Containers 3.0, 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 .

Srdcem Kata je běhové prostředí, které poskytuje možnost vytvářet kompaktní virtuální stroje, které běží pomocí plného hypervizoru, namísto použití tradičních kontejnerů, které používají společ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.

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

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

  • Je navrženo alternativní runtime (runtime-rs), které tvoří náplň kontejnerů, napsané v jazyce Rust (dříve dodávaný runtime byl napsán v jazyce Go). Runtime je kompatibilní s OCI, CRI-O a Containerd, což umožňuje jeho použití s ​​Dockerem a Kubernetes.
  • Byl navržen nový hypervizor dragonball založený na KVM a rust-vmm.
  • Přidána podpora pro přesměrování přístupu k GPU pomocí VFIO.
  • Přidána podpora pro cgroup v2.
  • Podpora pro změnu nastavení bez změny hlavního konfiguračního souboru byla implementována nahrazením bloků v samostatných souborech umístěných v adresáři „config.d/“.
  • Komponenty Rust obsahují novou knihovnu pro bezpečnou práci s cestami k souborům.
  • Komponenta virtiofsd (napsaná v C) byla nahrazena virtiofsd-rs (napsaná v Rustu).
  • Přidána podpora pro sandboxing komponent QEMU.
  • QEMU používá io_uring API pro asynchronní I/O.
  • Podpora pro rozšíření Intel TDX (Trusted Domain Extensions) byla implementována pro QEMU a Cloud-hypervisor.
  • Aktualizované komponenty: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linuxové jádro 5.19.2.

Zdroj: opennet.ru

Přidat komentář