Lansarea Kata Containers 3.2 cu izolare bazată pe virtualizare

Опубликован выпуск проекта 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 se bazează pe runtime, care vă permite să creați mașini virtuale compacte care rulează folosind un hypervisor complet, în loc să folosiți containere tradiționale care folosesc un nucleu Linux comun și sunt izolate folosind spații de nume și cgroups. Utilizarea mașinilor virtuale vă permite să atingeți un nivel mai ridicat de securitate care vă protejează împotriva atacurilor cauzate de exploatarea vulnerabilităților din nucleul Linux.

Kata Containers se concentrează pe integrarea în infrastructurile existente de izolare a containerelor, cu capacitatea de a utiliza mașini virtuale similare pentru a îmbunătăți protecția containerelor tradiționale. Proiectul oferă mecanisme pentru a asigura compatibilitatea mașinilor virtuale ușoare cu diverse infrastructuri de izolare a containerelor, platforme de orchestrare a containerelor și specificații, cum ar fi OCI (Open Container Initiative), CRI (Container Runtime Interface) și CNI (Container Networking Interface). Instrumentele sunt disponibile pentru integrarea cu Docker, Kubernetes, QEMU și OpenStack.

Integrarea cu sistemele de management al containerelor se realizează folosind un strat care simulează managementul containerului, care accesează agentul de gestionare din mașina virtuală prin interfața gRPC și un proxy special. În interiorul mediului virtual, care este lansat de hypervisor, este utilizat un nucleu Linux special optimizat, care conține doar setul minim de capabilități necesare.

Ca hypervisor, acceptă utilizarea Dragonball Sandbox (o ediție KVM optimizată pentru containere) cu setul de instrumente QEMU, precum și Firecracker și Cloud Hypervisor. Mediul de sistem include un daemon de inițializare și un agent. Agentul oferă execuția imaginilor container definite de utilizator în format OCI pentru Docker și CRI pentru Kubernetes. Când este utilizat împreună cu Docker, este creată o mașină virtuală separată pentru fiecare container, de ex. Mediul care rulează deasupra hipervizorului este utilizat pentru lansarea imbricată a containerelor.

Lansarea Kata Containers 3.2 cu izolare bazată pe virtualizare

Pentru a reduce consumul de memorie, se folosește mecanismul DAX (acces direct la sistemul de fișiere, ocolirea cache-ului paginii fără a utiliza nivelul dispozitivului bloc), iar pentru a deduplica zone de memorie identice, se folosește tehnologia KSM (Kernel Samepage Merging), care vă permite pentru a organiza partajarea resurselor sistemului gazdă și pentru a vă conecta la diferite sisteme invitate partajați un șablon comun de mediu de sistem.

În noua versiune:

  • Помимо поддержки архитектуры 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.

Sursa: opennet.ru

Adauga un comentariu