Llançament de Kata Containers 3.2 amb aïllament basat en virtualització

Опубликован выпуск проекта Kata Containers 3.2, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями 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 es basa en temps d'execució, que us permet crear màquines virtuals compactes que s'executen amb un hipervisor complet, en lloc d'utilitzar contenidors tradicionals que utilitzen un nucli comú de Linux i estan aïllats mitjançant espais de noms i grups c. L'ús de màquines virtuals permet assolir un nivell de seguretat superior que protegeix contra atacs provocats per l'explotació de vulnerabilitats al nucli Linux.

Kata Containers se centra en la integració a les infraestructures d'aïllament de contenidors existents amb la possibilitat d'utilitzar màquines virtuals similars per millorar la protecció dels contenidors tradicionals. El projecte proporciona mecanismes per garantir la compatibilitat de màquines virtuals lleugeres amb diverses infraestructures d'aïllament de contenidors, plataformes d'orquestració de contenidors i especificacions com ara OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Hi ha eines disponibles per a la integració amb Docker, Kubernetes, QEMU i OpenStack.

La integració amb els sistemes de gestió de contenidors s'aconsegueix mitjançant una capa que simula la gestió de contenidors, que accedeix a l'agent de gestió de la màquina virtual mitjançant la interfície gRPC i un proxy especial. Dins de l'entorn virtual, que és llançat per l'hipervisor, s'utilitza un nucli Linux especialment optimitzat, que conté només el conjunt mínim de capacitats necessàries.

Com a hipervisor, admet l'ús de Dragonball Sandbox (una edició de KVM optimitzada per a contenidors) amb el conjunt d'eines QEMU, així com Firecracker i Cloud Hypervisor. L'entorn del sistema inclou un dimoni d'inicialització i un agent. L'agent proporciona l'execució d'imatges de contenidors definides per l'usuari en format OCI per a Docker i CRI per a Kubernetes. Quan s'utilitza conjuntament amb Docker, es crea una màquina virtual independent per a cada contenidor, és a dir. L'entorn que s'executa a la part superior de l'hipervisor s'utilitza per al llançament imbricat de contenidors.

Llançament de Kata Containers 3.2 amb aïllament basat en virtualització

Per reduir el consum de memòria, s'utilitza el mecanisme DAX (accés directe al sistema de fitxers, obviant la memòria cau de la pàgina sense utilitzar el nivell de dispositiu de bloc) i per desduplicar àrees de memòria idèntiques, s'utilitza la tecnologia KSM (Kernel Samepage Merging), que us permet per organitzar la compartició de recursos del sistema amfitrió i connectar-se a diferents sistemes convidats comparteixen una plantilla d'entorn del sistema comú.

En la nova versió:

  • Помимо поддержки архитектуры AMD64 (x86_64) обеспечено формирование релизов для архитектур ARM64 (Aarch64) и s390 (IBM Z). В разработке находится поддержка архитектуры ppc64le (IBM Power).
  • Для организации доступа к образам контейнеров задействована файловая система Nydus 2.2.0, в которой используется адресация по содержимому для эффективной совместной работы с типовыми образами. Nydus поддерживает загрузку образов на лету (загружает только при возникновении необходимости), обеспечивает дедупликацию повторяющихся данных и может использовать разные бэкенды для фактического хранения. Предоставляется совместимость с POSIX (по аналогии с Composefs, реализация Nydus совмещает возможности OverlayFS c EROFS или FUSE-модулем).
  • В основной состав проекта Kata Containers интегрирован менеджер виртуальных машин Dragonball, который теперь будет развиваться в общем репозитории.
  • В утилиту kata-ctl добавлена отладочная функция для подключения к виртуальной машине из хост-окружения.
  • Расширены возможности по управлению GPU и добавлена поддержка проброса GPU в контейнеры для конфиденциальных вычислений (Confidential Container), в который обеспечивается шифрование данных, памяти и состояния выполнения для защиты в случае компрометации хост-окружения или гипервизора.
  • В Runtime-rs добавлена подсистема управления устройствами, используемыми в контейнерах или sandbox-окружениях. Поддерживается работа с vfio, блочными, сетевыми и другими типами устройств.
  • Обеспечена совместимость с OCI Runtime 1.0.2 и Kubernetes 1.23.1.
  • В качестве ядра Linux рекомендовано использовать выпуск 6.1.38 с патчами.
  • Разработка переведена с использования системы непрерывной интеграции Jenkins на GitHub Actions.

Font: opennet.ru

Afegeix comentari