Izdanje Kata Containers 3.2 sa izolacijom zasnovanom na virtuelizaciji

Опубликован выпуск проекта 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 bazira na runtime-u, što vam omogućava da kreirate kompaktne virtuelne mašine koje se pokreću koristeći potpuni hipervizor, umesto da koristite tradicionalne kontejnere koji koriste uobičajeno jezgro Linuxa i izolovani su korišćenjem prostora imena i cgroup-a. Upotreba virtuelnih mašina vam omogućava da postignete viši nivo sigurnosti koji štiti od napada izazvanih iskorištavanjem ranjivosti u jezgru Linuxa.

Kata Containers je fokusiran na integraciju u postojeće infrastrukture za izolaciju kontejnera sa mogućnošću korišćenja sličnih virtuelnih mašina za poboljšanje zaštite tradicionalnih kontejnera. Projekat obezbeđuje mehanizme za obezbeđivanje kompatibilnosti lakih virtuelnih mašina sa različitim infrastrukturama za izolaciju kontejnera, platformama za orkestraciju kontejnera i specifikacijama kao što su OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Alati su dostupni za integraciju sa Docker, Kubernetes, QEMU i OpenStack.

Integracija sa sistemima za upravljanje kontejnerima se postiže korišćenjem sloja koji simulira upravljanje kontejnerima, koji pristupa agentu za upravljanje u virtuelnoj mašini preko gRPC interfejsa i posebnog proxyja. Unutar virtuelnog okruženja, koje pokreće hipervizor, koristi se posebno optimizovano jezgro Linuxa koje sadrži samo minimalni skup potrebnih mogućnosti.

Kao hipervizor, podržava upotrebu Dragonball Sandbox-a (izdanje KVM-a optimizovanog za kontejnere) sa QEMU kompletom alata, kao i Firecracker i Cloud Hypervisor. Sistemsko okruženje uključuje inicijalizacijski demon i agent. Agent obezbeđuje izvršavanje korisnički definisanih slika kontejnera u OCI formatu za Docker i CRI za Kubernetes. Kada se koristi zajedno sa Dockerom, za svaki kontejner se kreira posebna virtuelna mašina, tj. Okruženje koje radi na vrhu hipervizora koristi se za ugniježđeno pokretanje kontejnera.

Izdanje Kata Containers 3.2 sa izolacijom zasnovanom na virtuelizaciji

Da bi se smanjila potrošnja memorije koristi se DAX mehanizam (direktan pristup sistemu datoteka, zaobilaženje keš memorije stranice bez korištenja nivoa blok uređaja), a za dedupliciranje identičnih memorijskih područja koristi se KSM (Kernel Samepage Merging) tehnologija koja vam omogućava organizirati dijeljenje resursa host sistema i povezati se na različite gostujuće sisteme dijeliti zajednički predložak sistemskog okruženja.

U novoj verziji:

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

izvor: opennet.ru

Dodajte komentar