Издание на Kata Containers 3.4 с изолация на база виртуализация

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

Основата на Kata е runtime, който позволява създаването на компактни виртуални машини, изпълнявани с помощта на пълноценен хипервизор, вместо да се използват традиционни контейнери, които използват общо ядро на Linux и са изолирани с помощта на пространства от имена и cgroups. Използването на на виртуални машини позволява постигането на по-високо ниво на сигурност, което защитава от атаки, предизвикани от експлоатация на уязвимости в ядрото на Linux.

Kata Containers е ориентиран към интеграция в съществуващите инфраструктури за изолация на контейнери с възможност за използване на подобни виртуални машини за усилване на защитата на традиционните контейнери. Проектът предоставя механизми за осигуряване на съвместимост на леките виртуални машини с различни инфраструктури за изолация на контейнери, платформи за оркестрация на контейнери и спецификации, като OCI (Open Container Initiative), CRI (Container Runtime Interface) и CNI (Container Networking Interface). Налични са средства за интеграция с Docker, Kubernetes, QEMU и OpenStack.

Интеграцията с системите за управление на контейнери се постига чрез прослойка, симулираща управлението на контейнера, която чрез gRPC-интерфейс и специален прокси се обръща към управляващия агент във виртуалната машина. Вътре в виртуалната среда, която се стартира от хипервизора, се използва специално оптимизирано ядро на Linux, съдържащо само минимален набор от необходимите възможности.

Като хипервизор се поддържа използването на Dragonball Sandbox (редакция KVM, оптимизирана за контейнери) с инструмента QEMU, както и Firecracker и Cloud Hypervisor. Системната среда включва демон за инициализация и агент (Agent). Агентът осигурява изпълнението на определени потребителски контейнери в OCI формат за Docker и CRI за Kubernetes. При използване заедно с Docker за всеки контейнер се създава отделна виртуална машина, т.е. стартираното върху хипервизора среда се прилага за вложено стартиране на контейнери.

Издание на Kata Containers 3.4 с изолация на база виртуализация

За намаляване на потреблението на памет се прилага механизмът DAX (достъп до файловата система без кеширане на страниците, без използване на блокови устройства), а за дупликация на еднакви области на паметта се прилага технологията KSM (Kernel Samepage Merging), което позволява организиране на споделянето на ресурси на хост системата и свързването на различни гостуващи системи с общ шаблон на системната среда.

За организация на достъпа до образите на контейнерите е включена файлова система Nydus, в която се използва адресиране по съдържание за ефективна съвместна работа с типови образи. Nydus поддържа зареждане на образи на лето (зарежда само при възникване на необходимост), осигурява дедупликация на повтарящи се данни и може да използва различни бекенди за фактическо съхранение. Предоставя съвместимост с POSIX (по аналогия с Composefs, реализацията на Nydus комбинира възможностите на OverlayFS с EROFS или FUSE модул).

В новата версия:

  • В мениджъра за виртуални машини Dragonball е добавена поддръжка за горещо свързване на GPU и възможност за използване на регистрите MTRR (Memory-Type Range Registers) за организиране на достъп до области на физическата памет.
  • В runtime-rs, реализация на runtime на езика Rust, е осигурена пълна обработка на потоци, pid и tid, както и преработен драйвер qemu, който е използван на системи с архитектура s390 (IBM Z).
  • Обновен е сервизът за създаване на снапшотове с помощта на ФС Nydus.
  • В сервиза за управление на образите на контейнерите е повишена ефективността на работата с паметта.
  • По подразбиране е активирано монтирането на йерархия cgroups-v2 по време на зареждане с помощта на systemd.
  • Добавена е възможност за определяне на таймаут за ограничаване на времето за получаване на много големи образи в гостуващи системи.
  • Добавена е поддръжка за изграждане на OPA-агента (Open Policy Agent) за архитектури ppc64le и s390x.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster