Vydání Kata Containers 3.0 s izolací na základě virtualizace

Po dvou letech vývoje byl zveřejněn výstup projektu Kata Containers 3.0, který rozvíjí stack pro organizaci provádění kontejnerů s využitím izolace na základě 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. Vývoj projektu řídí pracovní skupina vytvořená pod gescí nezávislé organizace OpenStack Foundation, ve které participují takové společnosti, jako jsou 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 prováděné s využitím plnohodnotného hypervisoru, místo používání tradičních kontejnerů, které využívají společné jádro Linuxu a jsou izolovány pomocí namespaces 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.

Vydání Kata Containers 3.0 s izolací na základě virtualizace

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.0 s izolací na základě 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:

  • Byl navržen alternativní runtime (runtime-rs), který tvoří obsah 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 Kubernetem.
  • Byl navržen nový hypervisor dragonball, založený na KVM a rust-vmm.
  • Byla přidána podpora přesměrování přístupu k GPU pomocí VFIO.
  • Byla přidána podpora cgroup v2.
  • Byla realizována podpora pro změnu nastavení bez změny hlavního konfiguračního souboru prostřednictvím nahrazení bloků v jednotlivých souborech umístěných v adresáři „config.d/“.
  • V komponentách napsaných v jazyce Rust byla použita nová knihovna pro bezpečnou práci s cestami k souborům.
  • Komponent virtiofsd (napsaný v C) byl nahrazen virtiofsd-rs (napsaným v Rustu).
  • Byla přidána podpora sandboxové izolace komponent QEMU.
  • V QEMU pro asynchronní vstup/výstup byl použit API io_uring.
  • Pro QEMU a Cloud-hypervisor byla realizována podpora rozšíření Intel TDX (Trusted Domain Extensions).
  • Byly aktualizovány komponenty: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, jádro Linux 5.19.2.

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