Kata Containers 3.2'nin sanallaştırma tabanlı izolasyonla piyasaya sürülmesi

Опубликован выпуск проекта 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, ortak bir Linux çekirdeği kullanan ve ad alanları ve gruplar kullanılarak izole edilen geleneksel kapsayıcılar kullanmak yerine, tam bir hipervizör kullanarak çalışan kompakt sanal makineler oluşturmanıza olanak tanıyan çalışma zamanını temel alır. Sanal makinelerin kullanılması, Linux çekirdeğindeki güvenlik açıklarından yararlanılmasının neden olduğu saldırılara karşı koruma sağlayan daha yüksek bir güvenlik düzeyi elde etmenize olanak tanır.

Kata Containers, geleneksel konteynerlerin korumasını geliştirmek için benzer sanal makineleri kullanma yeteneği ile mevcut konteyner izolasyon altyapılarına entegrasyona odaklanmıştır. Proje, hafif sanal makinelerin çeşitli konteyner izolasyon altyapıları, konteyner orkestrasyon platformları ve OCI (Açık Konteyner Girişimi), CRI (Konteyner Çalışma Zamanı Arayüzü) ve CNI (Konteyner Ağ Arayüzü) gibi spesifikasyonlarla uyumluluğunu sağlayacak mekanizmalar sağlıyor. Docker, Kubernetes, QEMU ve OpenStack ile entegrasyona yönelik araçlar mevcuttur.

Konteyner yönetim sistemleriyle entegrasyon, sanal makinedeki yönetim aracısına gRPC arayüzü ve özel bir proxy aracılığıyla erişen konteyner yönetimini simüle eden bir katman kullanılarak gerçekleştirilir. Hipervizör tarafından başlatılan sanal ortamın içinde, yalnızca gerekli minimum yetenek setini içeren, özel olarak optimize edilmiş bir Linux çekirdeği kullanılır.

Bir hipervizör olarak, Firecracker ve Cloud Hypervisor'ın yanı sıra QEMU araç seti ile Dragonball Sandbox'ın (konteynerler için optimize edilmiş bir KVM sürümü) kullanımını destekler. Sistem ortamı bir başlatma arka plan programı ve bir aracı içerir. Aracı, kullanıcı tanımlı konteyner görüntülerinin Docker için OCI formatında ve Kubernetes için CRI formatında yürütülmesini sağlar. Docker ile birlikte kullanıldığında her konteyner için ayrı bir sanal makine oluşturulur. Hipervizörün üzerinde çalışan ortam, konteynerlerin iç içe başlatılması için kullanılır.

Kata Containers 3.2'nin sanallaştırma tabanlı izolasyonla piyasaya sürülmesi

Bellek tüketimini azaltmak için DAX mekanizması kullanılır (dosya sistemine doğrudan erişim, blok cihaz düzeyini kullanmadan sayfa önbelleğini atlayarak) ve aynı bellek alanlarını tekilleştirmek için KSM (Çekirdek Aynı Sayfa Birleştirme) teknolojisi kullanılır. ana sistem kaynaklarının paylaşımını düzenlemek ve farklı konuk sistemlerine bağlanmak için ortak bir sistem ortamı şablonunu paylaşın.

Yeni sürümde:

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

Kaynak: opennet.ru

Yorum ekle