Wydanie systemu zarządzania kontenerami Incus 0.3

Został przedstawiony trzeci numer projektu Incus, w ramach którego społeczność Linux Containers rozwija fork systemu zarządzania kontenerami LXD, stworzony przez dawny zespół programistów, który niegdyś stworzył LXD. Kod Incus jest napisany w języku Go i jest rozpowszechniany na licencji Apache 2.0.

Przypomnijmy, że społeczność Linux Containers nadzorowała rozwój LXD, zanim firma Canonical postanowiła rozwijać LXD jako oddzielny projekt komercyjny. Celem forka jest zapewnienie zarządzanej przez niezależne społeczeństwo alternatywy dla projektu LXD, kontrolowanego przez firmę Canonical. W ramach projektu Incus planuje się także usunięcie niektórych błędów koncepcyjnych, które były wcześniej niemożliwe do naprawienia bez naruszenia zgodności wstecznej.

Incus zapewnia narzędzia do centralnego zarządzania kontenerami i maszynami wirtualnymi, wdrażanymi zarówno na jednym hoście, jak i w klastrze złożonym z kilku. serwerów. Projekt jest zrealizowany w formie procesu roboczego, który przyjmuje żądania przez sieć za pośrednictwem REST API i obsługuje różne backendy pamięci (drzewa katalogów, ZFS, Btrfs, LVM), migawki stanu, live-migrację działających kontenerów z jednej maszyny na drugą oraz narzędzia do przechowywania obrazów kontenerów. Jako runtime do uruchamiania kontenerów wykorzystuje się narzędzia LXC, w skład których wchodzi biblioteka liblxc, zestaw narzędzi (lxc-create, lxc-start, lxc-stop, lxc-ls itp.), szablony do budowania kontenerów oraz zestaw powiązań dla różnych języków programowania. Izolacja jest realizowana za pomocą wbudowanych mechanizmów jądra Linux (przestrzenie nazw, cgroups, Apparmor, SELinux, Seccomp).

Najbardziej zauważalne zmiany:

  • Dodano wsparcie dla zarządzania autoryzacją użytkowników na podstawie modelu Relationship-Based Access Control, wdrożonego za pomocą procesu w tle OpenFGA, który odpowiada za podejmowanie decyzji o przyznaniu użytkownikom pewnych uprawnień. W połączeniu z dostawcą OpenID Connect wsparcie OpenFGA pozwala stworzyć otwarty stos identyfikacji i autoryzacji, umożliwiający użycie Incus jako pełnej alternatywy dla konfiguracji LXD z Canonical RBAC. Do konfiguracji dostępu do OpenFGA zaproponowano parametry openfga.api.token, openfga.api.url, openfga.store.id i openfga.store.model_id.
  • Ulepszono narzędzie lxd-to-incus, automatyzujące migrację z LXD na Incus. W nowej wersji dodano wsparcie dla dystrybucji z systemem init OpenRC, zrealizowano możliwość przenoszenia magazynów Ceph oraz sieci OVN, zapewniono prowadzenie logów migracji oraz tworzenie kopii zapasowych.
  • W maszynach wirtualnych Dodano wsparcie dla gorącego podłączenia i gorącego usuwania (hot-plug/hot-remove) ścieżek plików lub poszczególnych partycji, przekazywanych z środowiska hosta. Wcześniej takie przekazywanie za pomocą sterownika virtio-fs lub systemu plików 9p wymagało zatrzymania maszyny wirtualnej. Aby obejść to ograniczenie, wykorzystano możliwość QEMU do gorącego podłączenia urządzeń PCI oraz montowania ścieżki wewnątrz systemu gościa za pośrednictwem incus-agent.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster