Veröffentlichung des Containerverwaltungssystems LXC 5.0

Canonical hat eine Version des isolierten Container-Toolkits LXC 5.0 veröffentlicht, das eine Laufzeit bereitstellt, die sowohl für die Ausführung von Containern mit einer vollständigen Systemumgebung in der Nähe virtueller Maschinen als auch für die Ausführung nichtprivilegierter individueller Anwendungscontainer (OCI) geeignet ist. LXC ist ein Low-Level-Toolkit, das auf der Ebene einzelner Container arbeitet. Für die zentrale Verwaltung von Containern, die in einem Cluster aus mehreren Servern bereitgestellt werden, wird das LXD-System auf Basis von LXC entwickelt. Der LXC 5.0-Zweig wird als Langzeit-Support-Release klassifiziert, für den Updates über einen Zeitraum von 5 Jahren generiert werden. Der LXC-Code ist in C geschrieben und steht unter der GPLv2.

LXC umfasst die liblxc-Bibliothek, eine Reihe von Dienstprogrammen (lxc-create, lxc-start, lxc-stop, lxc-ls usw.), Vorlagen zum Erstellen von Containern und eine Reihe von Bindungen für verschiedene Programmiersprachen. Die Isolierung erfolgt über Standardmechanismen des Linux-Kernels. Um Prozesse, den IPC-Netzwerk-Stack, UTS, Benutzer-IDs und Mount-Punkte zu isolieren, wird der Namespace-Mechanismus verwendet. cgroups werden verwendet, um Ressourcen zu begrenzen. Um Berechtigungen zu senken und den Zugriff einzuschränken, werden Kernel-Funktionen wie Apparmor- und SELinux-Profile, Seccomp-Richtlinien, Chroots (pivot_root) und Funktionen verwendet.

Wichtigste Änderungen:

  • Wir sind von Autotools auf das Meson-Build-System umgestiegen, das auch zum Erstellen von Projekten wie X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME und GTK verwendet wird.
  • Neue Optionen zum Konfigurieren von cgroup hinzugefügt – lxc.cgroup.dir.container, lxc.cgroup.dir.monitor, lxc.cgroup.dir.monitor.pivot und lxc.cgroup.dir.container.inner, die es Ihnen ermöglichen, cgroup explizit zu definieren Pfade für Container, Überwachungsprozesse und verschachtelte Kontrollgruppenhierarchien.
  • Unterstützung für Zeit-Namespaces hinzugefügt, um einen separaten Status der Systemuhr an den Container zu binden, sodass Sie Ihre eigene Zeit im Container verwenden können, die sich von der Systemzeit unterscheidet. Zur Konfiguration werden die Optionen lxc.time.offset.boot und lxc.time.offset.monotonic vorgeschlagen, mit denen Sie den Offset für den Container relativ zur Hauptsystemuhr bestimmen können.
  • VLAN-Unterstützung ist für virtuelle Ethernet-Adapter (Veth) implementiert. Für die VLAN-Verwaltung werden Optionen angeboten: veth.vlan.id zum Festlegen des Haupt-VLANs und veth.vlan.tagged.id zum Binden zusätzlicher markierter VLANs.
  • Für virtuelle Ethernet-Adapter wurde die Möglichkeit hinzugefügt, die Größe von Empfangs- und Sendewarteschlangen mithilfe der neuen Optionen veth.n_rxqueues und veth.n_txqueues zu konfigurieren.

Source: opennet.ru

Kommentar hinzufügen