Vydanie kontajnerov Kata 3.0 s izoláciou založenou na virtualizácii

После двух лет разработки опубликован выпуск проекта Kata Containers 3.0, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языках Go и Rust, и распространяется под лицензией Apache 2.0. Развитие проекта курирует рабочая группа, созданная под эгидой независимой организации OpenStack Foundation, в которой участвуют такие компании, как Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE и ZTE.

Основу Kata составляет runtime, предоставляющий возможность создавать компактные виртуальные машины, выполняемые с использованием полноценного гипервизора, вместо применения традиционных контейнеров, использующих общее ядро Linux и изолированных при помощи пространств имён и cgroups. Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux.

Kata Containers sa zameriava na integráciu do existujúcich infraštruktúr na izoláciu kontajnerov so schopnosťou používať podobné virtuálne stroje na zvýšenie ochrany tradičných kontajnerov. Projekt poskytuje mechanizmy na zabezpečenie kompatibility ľahkých virtuálnych strojov s rôznymi infraštruktúrami na izoláciu kontajnerov, platformami na orchestráciu kontajnerov a špecifikáciami, ako sú OCI (Open Container Initiative), CRI (Container Runtime Interface) a CNI (Container Networking Interface). K dispozícii sú nástroje na integráciu s Docker, Kubernetes, QEMU a OpenStack.

Vydanie kontajnerov Kata 3.0 s izoláciou založenou na virtualizácii

Integrácia so systémami správy kontajnerov sa dosahuje pomocou vrstvy, ktorá simuluje správu kontajnerov, ktorá pristupuje k riadiacemu agentovi vo virtuálnom stroji cez rozhranie gRPC a špeciálny proxy. Vo virtuálnom prostredí, ktoré spúšťa hypervízor, sa používa špeciálne optimalizované jadro Linuxu, ktoré obsahuje len minimálnu sadu potrebných schopností.

Ako hypervízor podporuje používanie Dragonball Sandbox (edícia KVM optimalizovaná pre kontajnery) so súpravou nástrojov QEMU, ako aj Firecracker a Cloud Hypervisor. Systémové prostredie zahŕňa inicializačného démona a agenta. Agent poskytuje spúšťanie užívateľom definovaných obrázkov kontajnerov vo formáte OCI pre Docker a CRI pre Kubernetes. Pri použití v spojení s Dockerom sa pre každý kontajner vytvorí samostatný virtuálny stroj, t.j. Prostredie bežiace nad hypervízorom sa používa na vnorené spúšťanie kontajnerov.

Vydanie kontajnerov Kata 3.0 s izoláciou založenou na virtualizácii

Na zníženie spotreby pamäte sa používa mechanizmus DAX (priamy prístup do súborového systému, obchádzanie vyrovnávacej pamäte stránok bez použitia úrovne blokového zariadenia) a na deduplikáciu identických pamäťových oblastí sa používa technológia KSM (Kernel Samepage Merging), ktorá umožňuje na organizovanie zdieľania zdrojov hostiteľského systému a pripojenie k rôznym hosťovským systémom zdieľajú spoločnú šablónu systémového prostredia.

V novej verzii:

  • Предложен альтернативный runtime (runtime-rs), формирующий начинку контейнеров, написанный на языке Rust (ранее поставляемый runtime написан на языке Go). Runtime совместим с OCI, CRI-O и Containerd, что позволяет использовать его с Docker и Kubernetes.
  • Предложен новый гипервизор dragonball, основанный на KVM и rust-vmm.
  • Добавлена поддержка проброса доступа к GPU, используя VFIO.
  • Добавлена поддержка cgroup v2.
  • Реализована поддержка подмены настроек без изменения основного файла конфигурации через замену блоков в отдельных файлах, размещаемых в каталоге «config.d/».
  • В компонентах на языке Rust задействована новая библиотека для безопасной работы с файловыми путями.
  • Компонент virtiofsd (написан на Си) заменён на virtiofsd-rs (написан на Rust).
  • Добавлена поддержка sandbox-изоляции компонентов QEMU.
  • В QEMU для асинхронного ввода/вывода задействован API io_uring.
  • Для QEMU и Cloud-hypervisor реализована поддержка расширений Intel TDX (Trusted Domain Extensions).
  • Обновлены компоненты: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, ядро Linux 5.19.2.

Zdroj: opennet.ru

Pridať komentár