Izdanje Kata Containers 3.0 s izolacijom temeljenom na virtualizaciji

После двух лет разработки опубликован выпуск проекта 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 usmjerena je na integraciju u postojeće infrastrukture za izolaciju kontejnera s mogućnošću korištenja sličnih virtualnih strojeva za poboljšanje zaštite tradicionalnih kontejnera. Projekt pruža mehanizme za osiguravanje kompatibilnosti laganih virtualnih strojeva s različitim infrastrukturama za izolaciju spremnika, platformama za orkestraciju spremnika i specifikacijama kao što su OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Dostupni su alati za integraciju s Dockerom, Kubernetesom, QEMU i OpenStackom.

Izdanje Kata Containers 3.0 s izolacijom temeljenom na virtualizaciji

Integracija sa sustavima za upravljanje kontejnerima ostvaruje se pomoću sloja koji simulira upravljanje kontejnerima, koji pristupa agentu za upravljanje u virtualnom stroju preko gRPC sučelja i posebnog proxyja. Unutar virtualnog okruženja, koje pokreće hipervizor, koristi se posebno optimizirana jezgra Linuxa koja sadrži samo minimalni skup potrebnih mogućnosti.

Kao hipervizor, podržava korištenje Dragonball Sandboxa (izdanje KVM-a optimizirano za kontejnere) s QEMU alatom, kao i Firecracker i Cloud Hypervisor. Okruženje sustava uključuje inicijalizacijski demon i agent. Agent omogućuje izvođenje korisnički definiranih slika spremnika u OCI formatu za Docker i CRI za Kubernetes. Kada se koristi u kombinaciji s Dockerom, za svaki spremnik stvara se zasebno virtualno računalo, tj. Okolina koja se izvodi na vrhu hipervizora koristi se za ugniježđeno pokretanje spremnika.

Izdanje Kata Containers 3.0 s izolacijom temeljenom na virtualizaciji

Za smanjenje potrošnje memorije koristi se DAX mehanizam (izravan pristup datotečnom sustavu, zaobilaženje predmemorije stranice bez korištenja razine blok uređaja), a za dedupliciranje identičnih memorijskih područja koristi se KSM (Kernel Samepage Merging) tehnologija koja omogućuje za organiziranje dijeljenja resursa glavnog sustava i povezivanje s različitim gostujućim sustavima dijele zajednički predložak okruženja sustava.

U novoj verziji:

  • Предложен альтернативный 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.

Izvor: opennet.ru

Dodajte komentar