Wydanie Kata Containers 3.0 z izolacją opartą na wirtualizacji

Po dwóch latach rozwoju wydano projekt Kata Containers 3.0, rozwijający stos do organizowania wykonywania kontenerów przy użyciu izolacji opartej na pełnoprawnych mechanizmach wirtualizacji. Projekt został stworzony przez Intel i Hyper poprzez połączenie technologii Clear Containers i runV. Kod projektu jest napisany w Go i Rust i jest dystrybuowany na licencji Apache 2.0. Rozwój projektu jest nadzorowany przez grupę roboczą utworzoną pod auspicjami niezależnej OpenStack Foundation, do której należą takie firmy jak Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE i ZTE.

Kata opiera się na środowisku uruchomieniowym, które umożliwia tworzenie kompaktowych maszyn wirtualnych działających na pełnoprawnym hiperwizorze, zamiast korzystać z tradycyjnych kontenerów korzystających ze wspólnego jądra. Linux i izolowane za pomocą przestrzeni nazw i grup c. Aplikacja maszyna wirtualna zapewnia wyższy poziom bezpieczeństwa, chroniąc przed atakami wynikającymi z wykorzystywania luk w jądrze Linux.

Kata Containers koncentruje się na integracji z istniejącymi strukturami izolacji kontenerów, z możliwością wykorzystania takich maszyn wirtualnych do wzmocnienia tradycyjnych kontenerów. Projekt zapewnia mechanizmy zapewniające zgodność lekkich maszyn wirtualnych z różnymi strukturami izolacji kontenerów, platformami orkiestracji kontenerów i specyfikacjami, takimi jak OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Narzędzia integracyjne są dostępne dla Docker, Kubernetes, QEMU i OpenStack.

 Wydanie Kata Containers 3.0 z izolacją opartą na wirtualizacji

Integracja z systemami zarządzania kontenerami odbywa się za pomocą warstwy zarządzania kontenerami, która komunikuje się z agentem zarządzającym w maszynie wirtualnej za pośrednictwem interfejsu gRPC i dedykowanego serwera proxy. W środowisku wirtualnym wykorzystywane jest specjalnie zoptymalizowane jądro, uruchamiane przez hiperwizor. Linux, zawierający jedynie minimalny zestaw niezbędnych funkcji.

Obsługiwanym hiperwizorem jest Dragonball Sandbox (edycja KVM zoptymalizowana pod kątem kontenerów) z QEMU, a także Firecracker i Cloud Hypervisor. Środowisko systemowe zawiera demona init i agenta. Agent umożliwia wykonywanie zdefiniowanych przez użytkownika obrazów kontenerów w formacie OCI dla Dockera i CRI dla Kubernetesa. W połączeniu z Dockerem, dla każdego kontenera tworzona jest osobna instancja. maszyna wirtualna, tzn. środowisko uruchomione na hypervisorze jest używane do zagnieżdżonego uruchamiania kontenerów.

 Wydanie Kata Containers 3.0 z izolacją opartą na wirtualizacji

W celu ograniczenia zużycia pamięci zastosowano mechanizm DAX (bezpośredni dostęp do systemu plików z pominięciem pamięci podręcznej stronicowania bez korzystania z poziomu urządzenia blokowego), a do deduplikacji identycznych obszarów pamięci zastosowano technologię KSM (Kernel Samepage Merging), która umożliwia współużytkowanie zasobów systemu hosta i połączenie wspólnego szablonu środowiska systemowego z różnymi systemami gościnnymi.

W nowej wersji:

  • Proponowane jest alternatywne środowisko wykonawcze (runtime-rs), które tworzy wypełnienie kontenera, napisane w Rust (wcześniej dostarczone środowisko wykonawcze jest napisane w Go). Środowisko wykonawcze jest zgodne z OCI, CRI-O i Containerd, co pozwala na jego używanie z Dockerem i Kubernetesem.
  • Zaproponowano nowy hiperwizor Dragonball bazujący na KVM i Rust-vmm.
  • Dodano obsługę przekazywania dostępu do GPU przy użyciu VFIO.
  • Dodano obsługę cgroup v2.
  • Wprowadzono obsługę zastępowania ustawień bez zmiany głównego pliku konfiguracyjnego poprzez zastępowanie bloków w oddzielnych plikach znajdujących się w katalogu „config.d/”.
  • Komponenty Rust korzystają z nowej biblioteki zapewniającej bezpieczną obsługę ścieżek plików.
  • Komponent virtiofsd (napisany w języku C) został zastąpiony komponentem virtiofsd-rs (napisanym w języku Rust).
  • Dodano obsługę izolacji piaskownicy komponentów QEMU.
  • QEMU używa interfejsu API io_uring do asynchronicznego wejścia/wyjścia.
  • Wprowadzono obsługę technologii Intel TDX (Trusted Domain Extensions) dla QEMU i Cloud-hipervisor.
  • Zaktualizowane komponenty: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, jądro Linux 5.19.2.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster