Fa'asa'olotoina o Kata Containers 3.0 fa'atasi ai ma le tu'ufua fa'apitoa

После двух лет разработки опубликован выпуск проекта 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 o loʻo taulaʻi i le tuʻufaʻatasia i totonu o atigipusa tuʻufua o loʻo i ai nei ma le mafai ona faʻaogaina masini faʻapitoa tutusa e faʻaleleia ai le puipuiga o pusa masani. O le poloketi e tuʻuina atu auala e faʻamautinoa ai le fetaui lelei o masini mama mama faʻatasi ai ma atinaʻe eseese tuʻuesea, pusa faʻapipiʻi fausaga ma faʻamatalaga e pei ole OCI (Open Container Initiative), CRI (Container Runtime Interface) ma CNI (Container Networking Interface). O loʻo avanoa meafaigaluega mo le tuʻufaʻatasia ma Docker, Kubernetes, QEMU ma OpenStack.

Fa'asa'olotoina o Kata Containers 3.0 fa'atasi ai ma le tu'ufua fa'apitoa

O le tuʻufaʻatasia ma faiga faʻapipiʻi faʻapipiʻi e ausia e ala i le faʻaogaina o se laulau e faʻataʻitaʻiina ai le puleaina o pusa, lea e maua ai le pule faʻatonu i totonu o le masini masini e ala i le gRPC interface ma se sui faʻapitoa. I totonu o le siosiomaga faʻapitoa, lea e faʻalauiloaina e le hypervisor, o loʻo faʻaogaina ai se fatu Linux faʻapitoa, e aofia ai naʻo le seti aupito maualalo o gafatia talafeagai.

I le avea ai o se hypervisor, e lagolagoina le faʻaogaina o le Dragonball Sandbox (o se lomiga o KVM optimized mo koneteina) ma le QEMU toolkit, faʻapea foʻi ma Firecracker ma Cloud Hypervisor. O le siosiomaga faiga e aofia ai se daemon amata ma se sui sooupu. E tuʻuina atu e le sooupu le faʻatinoina o ata faʻapipiʻi faʻaogaina e le tagata faʻaoga ile OCI format mo Docker ma CRI mo Kubernetes. A faʻaaogaina faʻatasi ma Docker, e faia se masini faʻapitoa eseese mo pusa taʻitasi, i.e. O le si'osi'omaga o lo'o i luga o le hypervisor o lo'o fa'aogaina mo le fa'aputuina o koneteina.

Fa'asa'olotoina o Kata Containers 3.0 fa'atasi ai ma le tu'ufua fa'apitoa

Ina ia faʻaitiitia le faʻaogaina o le mafaufau, e faʻaaogaina le masini DAX (saʻo saʻo i le faila faila, faʻafefe le itulau cache e aunoa ma le faʻaogaina o le masini poloka poloka), ma faʻateʻaina vaega tutusa e manatua ai, faʻaaogaina KSM (Kernel Samepage Merging), lea e mafai ai e oe. e fa'atulaga le fefa'asoaa'i o puna'oa fa'aoga talimalo ma fa'afeso'ota'i i faiga fa'amālō eseese fa'asoa se fa'ata'ita'iga si'osi'omaga faiga masani.

I le lomiga fou:

  • Предложен альтернативный 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.

puna: opennet.ru

Faaopoopo i ai se faamatalaga