Виртуалдаштырууга негизделген изоляция менен Kata Containers 3.0 чыгаруу

После двух лет разработки опубликован выпуск проекта 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 салттуу контейнерлерди коргоону күчөтүү үчүн окшош виртуалдык машиналарды колдонуу мүмкүнчүлүгү менен учурдагы контейнердик изоляция инфраструктураларына интеграциялоого багытталган. Долбоор жеңил салмактагы виртуалдык машиналардын ар кандай контейнердик изоляция инфраструктуралары, контейнердик оркестрдик платформалар жана OCI (Ачык контейнер демилгеси), CRI (Container Runtime Interface) жана CNI (Container Networking Interface) спецификациялары менен шайкеш келүүсүн камсыздоо механизмдерин камсыз кылат. Куралдар Docker, Kubernetes, QEMU жана OpenStack менен интеграциялоо үчүн жеткиликтүү.

Виртуалдаштырууга негизделген изоляция менен Kata Containers 3.0 чыгаруу

Контейнерди башкаруу системалары менен интеграцияга виртуалдык машинадагы башкаруучу агентке gRPC интерфейси жана атайын прокси аркылуу кирүүчү контейнерди башкарууну симуляциялаган катмар аркылуу жетишилет. Гипервизор тарабынан ишке киргизилген виртуалдык чөйрөнүн ичинде керектүү мүмкүнчүлүктөрдүн минималдуу топтомун гана камтыган атайын оптималдаштырылган Linux ядросу колдонулат.

Гипервизор катары ал Dragonball Sandbox'ун (контейнерлер үчүн оптималдаштырылган KVM басылмасы) QEMU инструменттери менен, ошондой эле Firecracker жана Cloud Hypervisor менен колдонууну колдойт. Системанын чөйрөсү инициализация демонун жана агентти камтыйт. Агент Docker үчүн OCI форматында жана Kubernetes үчүн CRI форматында колдонуучу аныктаган контейнер сүрөттөрүнүн аткарылышын камсыз кылат. Docker менен бирге колдонулганда, ар бир контейнер үчүн өзүнчө виртуалдык машина түзүлөт, б.а. Гипервизордун үстүндө иштеген чөйрө контейнерлерди уяча ишке киргизүү үчүн колдонулат.

Виртуалдаштырууга негизделген изоляция менен Kata Containers 3.0 чыгаруу

Эстутум керектөөнү азайтуу үчүн DAX механизми колдонулат (файлдык тутумга түз кирүү, блоктук түзүлүш деңгээлин колдонбостон баракчанын кэшин айланып өтүү) жана окшош эстутум аймактарын дедупликациялоо үчүн KSM (Kernel Samepage Merging) технологиясы колдонулат, бул сизге мүмкүндүк берет. хост тутумунун ресурстарын бөлүшүүнү уюштуруу жана ар кандай конок системаларына туташуу үчүн жалпы тутум чөйрөсү үлгүсүн бөлүшөт.

Жаңы версияда:

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

Source: opennet.ru

Комментарий кошуу