가상화 기반 격리 기능을 갖춘 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(Open Container Initiative), CRI(Container Runtime Interface) 및 CNI(Container Networking Interface)와 같은 사양과 경량 가상 머신의 호환성을 보장하는 메커니즘을 제공합니다. Docker, Kubernetes, QEMU 및 OpenStack과의 통합을 위한 도구를 사용할 수 있습니다.

가상화 기반 격리 기능을 갖춘 Kata Containers 3.0 출시

컨테이너 관리 시스템과의 통합은 gRPC 인터페이스와 특수 프록시를 통해 가상 머신의 관리 에이전트에 액세스하는 컨테이너 관리를 시뮬레이션하는 계층을 사용하여 이루어집니다. 하이퍼바이저에 의해 시작되는 가상 환경 내에서는 최소한의 필수 기능 세트만 포함하는 특별히 최적화된 Linux 커널이 사용됩니다.

하이퍼바이저로서 QEMU 툴킷과 함께 Dragonball Sandbox(컨테이너에 최적화된 KVM 에디션)는 물론 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.

출처 : opennet.ru

코멘트를 추가