Wydanie systemu zarządzania kontenerami LXC 5.0

Firma Canonical opublikowała wersję zestawu narzędzi izolowanego kontenera LXC 5.0, który zapewnia środowisko wykonawcze odpowiednie zarówno do uruchamiania kontenerów w pełnym środowisku systemowym, w pobliżu maszyn wirtualnych, jak i do uruchamiania nieuprzywilejowanych kontenerów indywidualnych aplikacji (OCI). LXC to zestaw narzędzi niskiego poziomu, który działa na poziomie poszczególnych kontenerów. Do scentralizowanego zarządzania kontenerami rozmieszczonymi w klastrze kilku serwerów rozwijany jest system LXD w oparciu o LXC. Gałąź LXC 5.0 jest klasyfikowana jako wydanie długoterminowego wsparcia, którego aktualizacje generowane są przez okres 5 lat. Kod LXC jest napisany w języku C i jest objęty licencją GPLv2.

LXC zawiera bibliotekę 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 odbywa się przy użyciu standardowych mechanizmów jądra Linuksa. Do izolowania procesów, stosu sieciowego ipc, uts, identyfikatorów użytkowników i punktów montowania wykorzystywany jest mechanizm przestrzeni nazw. cgroups służą do ograniczania zasobów. Aby obniżyć uprawnienia i ograniczyć dostęp, wykorzystywane są funkcje jądra, takie jak profile Apparmor i SELinux, zasady Seccomp, Chroots (pivot_root) i możliwości.

Główne zmiany:

  • Przeszliśmy z narzędzi automatycznych na system kompilacji Meson, który jest również używany do budowania projektów takich jak X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME i GTK.
  • Dodano nowe opcje konfiguracji cgroup - lxc.cgroup.dir.container, lxc.cgroup.dir.monitor, lxc.cgroup.dir.monitor.pivot i lxc.cgroup.dir.container.inner, które pozwalają jawnie zdefiniować cgroup ścieżki dla kontenera, procesu monitorowania i zagnieżdżonych hierarchii grup cgroup.
  • Dodano obsługę przestrzeni nazw czasu w celu powiązania oddzielnego stanu zegara systemowego z kontenerem, umożliwiając wykorzystanie własnego czasu w kontenerze, innego niż systemowy. Do konfiguracji proponowane są opcje lxc.time.offset.boot i lxc.time.offset.monotonic, które pozwalają określić przesunięcie kontenera względem głównego zegara systemowego.
  • Obsługa sieci VLAN jest zaimplementowana dla adapterów wirtualnej sieci Ethernet (Veth). Dostępne są opcje zarządzania sieciami VLAN: veth.vlan.id, aby ustawić główną sieć VLAN i veth.vlan.tagged.id, aby powiązać dodatkowe oznaczone sieci VLAN.
  • W przypadku adapterów wirtualnej sieci Ethernet dodano możliwość konfiguracji rozmiaru kolejek odbiorczych i transmisyjnych za pomocą nowych opcji veth.n_rxqueues i veth.n_txqueues.

Źródło: opennet.ru

Dodaj komentarz