Wydanie systemu zarządzania kontenerami LXC 5.0

Firma Canonical opublikowała wydanie narzędzia do organizowania pracy izolowanych kontenerów LXC 5.0, które dostarcza runtime odpowiedni zarówno do uruchamiania kontenerów z pełnym środowiskiem systemowym, zbliżonych do maszyn wirtualnych, jak i do uruchamiania nieuprzywilejowanych kontenerów pojedynczych aplikacji (OCI). LXC należy do narzędzi niskiego poziomu, działających na poziomie pojedynczych kontenerów. Do centralnego zarządzania kontenerami rozproszonymi w klastrze kilku serwerów, na bazie LXC rozwija się system LXD. Gałąź LXC 5.0 została zaliczona do wydań z długoterminowym wsparciem, aktualizacje dla których będą wydawane przez 5 lat. Kod LXC został napisany w języku C i jest rozpowszechniany na licencji GPLv2.

W skład LXC wchodzą biblioteka liblxc, zestaw narzędzi (lxc-create, lxc-start, lxc-stop, lxc-ls itp.), szablony do tworzenia kontenerów oraz zestaw bindów dla różnych języków programowania. Izolacja realizowana jest przy użyciu wbudowanych 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). Ograniczanie zasobów odbywa się za pomocą cgroups. Aby zmniejszyć uprawnienia i ograniczyć dostęp, wykorzystywane są możliwości jądra, takie jak profile Apparmor i SELinux, polityki Seccomp, Chroots (pivot_root) oraz capabilities.

Główne zmiany:

  • Zrealizowano przejście z autotools na system budowy Meson, który jest także używany do budowy takich projektów, 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 oraz lxc.cgroup.dir.container.inner, które pozwalają na jednoznaczne określenie ścieżek cgroup dla kontenera, procesu monitorowania oraz zagnieżdżonych hierarchii cgroup.
  • Dodano wsparcie dla namespace'ów czasowych (time namespaces) do powiązania kontenera z osobnym stanem zegarów systemowych, co pozwala na użycie w kontenerze własnego czasu, różnego od czasu systemowego. Dla konfiguracji zaproponowano opcje lxc.time.offset.boot oraz lxc.time.offset.monotonic, które umożliwiają określenie dla kontenera przesunięcia względem podstawowych zegarów systemowych.
  • Dla wirtualnych adapterów ethernetowych (Veth) wprowadzono wsparcie dla VLAN. Do zarządzania VLAN zaproponowano opcje: veth.vlan.id do ustawienia głównego VLAN oraz veth.vlan.tagged.id do powiązania dodatkowych oznaczonych VLAN.
  • Dla wirtualnych adapterów ethernetowych dodano możliwość konfiguracji rozmiaru kolejki odbioru i nadawania za pomocą nowych opcji veth.n_rxqueues oraz veth.n_txqueues.

Ź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