Wydanie narzędzia do zarządzania kontenerami LXC i LXD 4.0

Firma Canonical opublikowała wydanie narzędzi do organizacji pracy z izolowanymi kontenerami LXC 4.0, menedżer kontenerów LXD 4.0 i wirtualny system plików LXCFS 4.0 do symulacji w kontenerach /proc, /sys i zwirtualizowanego przedstawienia cgroupfs dla dystrybucji bez wsparcia przestrzeni nazw dla cgroup. Gałąź 4.0 została przypisana do wydań z długoterminowym wsparciem, aktualizacje dla których są wydawane przez 5 lat

LXC to środowisko uruchomieniowe do uruchamiania zarówno systemowych kontenerów, jak i kontenerów dla pojedynczych aplikacji (OCI). LXC zawiera bibliotekę liblxc, zestaw narzędzi (lxc-create, lxc-start, lxc-stop, lxc-ls itd.), szablony do budowy kontenerów oraz zestaw wiązań dla różnych języków programowania. Izolacja jest realizowana za pomocą standardowych mechanizmów jądra Linux. Do izolacji procesów, stosu sieciowego ipc, uts, identyfikatorów użytkowników i punktów montowania wykorzystywany jest mechanizm przestrzeni nazw (namespaces). Do ograniczania zasobów stosuje się cgroups. Do obniżania przywilejów i ograniczania dostępu wykorzystane są możliwości jądra, takie jak profile Apparmor i SELinux, polityki Seccomp, Chroots (pivot_root) oraz capabilities. Kod LXC została napisana jest napisany w języku C i jest wydawany na licencji GPLv2.

LXD jest nakładką na LXC, CRIU i QEMU, używaną do centralnego zarządzania kontenerami i maszynami wirtualnymi na jednym lub kilku serwerach. Jeśli LXC to niskopoziomowe narzędzie do manipulacji na poziomie pojedynczych kontenerów, to LXD działa jako proces w tle, przyjmujący żądania przez sieć za pośrednictwem REST API, co pozwala na tworzenie skalowalnych konfiguracji wdrożonych w klastrze kilku serwerów.
Obsługiwane są różne zaplecza pamięci (drzewo katalogów, ZFS, Btrfs, LVM), migawki z poziomem stanu, migracja na żywo działających kontenerów z jednej maszyny na drugą oraz narzędzia do zarządzania repozytorium obrazów. Kod LXD została napisana jest napisany w języku Go i jest wydawany na licencji Apache 2.0.

Kluczowe ulepszenia w LXC 4.0:

  • W pełni przepisano sterownik do pracy z cgroup. Dodano wsparcie dla zunifikowanej hierarchii cgroup (cgroup2). Dodano funkcjonalność kontrolera freezer, za pomocą którego można wstrzymać działanie w cgroup i tymczasowo uwolnić niektóre zasoby (CPU, wejście/wyjście i potencjalnie nawet pamięć) do wykonania innych zadań.
  • Zrealizowano infrastrukturę do przechwytywania wywołań systemowych;
  • Dodano wsparcie dla podsystemu jądra «pidfd», przeznaczonego do obsługi sytuacji ponownego użycia PID (pidfd jest powiązany z konkretnym procesem i nie zmienia się, podczas gdy PID może być przypisany do innego procesu po zakończeniu bieżącego procesu związanego z tym PID);
  • Ulepszono tworzenie i usuwanie urządzeń sieciowych oraz ich przenoszenie między przestrzeniami nazw podsystemu sieciowego;
  • Zrealizowano możliwość przenoszenia bezprzewodowych urządzeń sieciowych (nl80211) do kontenerów.

Kluczowe ulepszenia w LXD 4.0:

  • Dodano wsparcie dla uruchamiania nie tylko kontenerów, ale także maszyn wirtualnych;
  • Dla segmentacji serwerów LXD zaproponowano koncepcję projektów, upraszczających zarządzanie grupami kontenerów i maszyn wirtualnych. Każdy projekt może obejmować swój zestaw kontenerów, maszyn wirtualnych, obrazów, profili i przestrzeni magazynowych. W odniesieniu do projektów można ustawiać własne ograniczenia i zmieniać konfiguracje;
  • Dodano wsparcie dla przechwytywania wywołań systemowych dla kontenerów;
  • Zrealizowano możliwość tworzenia kopii zapasowych środowisk i przywracania ich;
  • Zapewniono zautomatyzowane tworzenie migawek środowisk i przestrzeni magazynowych z możliwością ustalenia czasu istnienia migawki;
  • Dodano API do monitorowania stanu sieci (lxc network info);
  • Dodano wsparcie dla shiftfs, wirtualny system plików do mapowania punktów montowania z przestrzeniami nazw identyfikatorów użytkowników (user namespace);
  • Proponowane są nowe typy adapterów sieciowych «ipvlan» i «routed»;
  • Dodano backend do korzystania z magazynów opartych na CephFS;
  • Dla klastrów zrealizowano wsparcie dla replikacji obrazów oraz konfiguracji wieloarchitektonicznych;
  • Dodano możliwość zarządzania dostępem na podstawie ról (RBAC);
  • Dodano wsparcie dla CGroup2;
  • Dodano możliwość konfiguracji adresu MAC oraz określenia adresu źródłowego dla NAT;
  • Dodano API do zarządzania powiązaniami w DHCP (leases);
  • Dodano wsparcie dla Nftables.

Ź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