Release des Container-Management-Systems Incus 0.3

Die dritte Ausgabe des Incus-Projekts wurde vorgestellt, in deren Rahmen die Linux-Container-Community einen Fork des Containerverwaltungssystems LXD entwickelt hat, das von dem ursprünglichen Entwicklerteam erstellt wurde, das einst LXD geschaffen hat. Der Code von Incus ist in Go geschrieben und wird unter der Apache 2.0-Lizenz veröffentlicht.

Erinnern wir uns daran, dass die Gemeinschaft der Linux-Container die Entwicklung von LXD beaufsichtigt hat, bis das Unternehmen Canonical beschloss, LXD separat als Unternehmensprojekt weiterzuentwickeln. Ziel des Forks ist es, eine von einer unabhängigen Gemeinschaft verwaltete Alternative zum LXD-Projekt, das unter der Kontrolle von Canonical steht, bereitzustellen. Im Rahmen des Projekts Incus ist auch geplant, einige konzeptionelle Fehler zu beheben, die bei der Entwicklung von LXD gemacht wurden und zuvor nicht behoben werden konnten, ohne die Abwärtskompatibilität zu verletzen.

Incus bietet Werkzeuge für das zentrale Management von Containern und virtuellen Maschinen, die sowohl auf einem einzelnen Host als auch in einem Cluster von mehreren bereitgestellt werden. Server. Das Projekt wird als Hintergrundprozess implementiert, der Anfragen über das Netzwerk über eine REST API entgegennimmt und verschiedene Backend-Speicher (Verzeichnishierarchie, ZFS, Btrfs, LVM) unterstützt, Snapshots des Zustands, die Live-Migration von laufenden Containern von einem Rechner zu einem anderen und Werkzeuge zur Speicherung von Container-Images. Als Runtime zum Starten der Container wird das LXC-Toolkit verwendet, das die Bibliothek liblxc, eine Sammlung von Dienstprogrammen (lxc-create, lxc-start, lxc-stop, lxc-ls usw.), Vorlagen zum Erstellen von Containern und eine Sammlung von Bindungen für verschiedene Programmiersprachen umfasst. Die Isolierung erfolgt mittels der Standardmechanismen des Linux-Kernels (Namensräume, cgroups, Apparmor, SELinux, Seccomp).

Die bemerkenswertesten Änderungen:

  • Es wurde die Unterstützung für die Verwaltung der Benutzerautorisierung auf Basis des Relationship-Based Access Control-Modells hinzugefügt, das über einen Hintergrunddienst von OpenFGA implementiert wird, der für die Entscheidungsfindung bei der Vergabe von Berechtigungen an Benutzer verantwortlich ist. In Kombination mit dem OpenID Connect-Anbieter ermöglicht die Unterstützung von OpenFGA die Bildung eines offenen Identifizierungs- und Autorisierungsstapels, der es ermöglicht, Incus als vollständigen Ersatz für LXD-Konfigurationen mit Canonical RBAC zu nutzen. Für die Konfiguration des Zugriffs auf OpenFGA wurden die Parameter openfga.api.token, openfga.api.url, openfga.store.id und openfga.store.model_id vorgeschlagen.
  • Das Tool lxd-to-incus wurde verbessert, um die Migration von LXD zu Incus zu automatisieren. In der neuen Version wurde die Unterstützung für Distributionen mit dem Init-System OpenRC hinzugefügt, die Möglichkeit zur Migration von Ceph-Speichern und OVN-Netzen implementiert, sowie das Protokollieren von Migrationen und die Erstellung von Backups sichergestellt.
  • Im virtuellen Maschinen Es wurde die Unterstützung für das Hot-Plugging und Hot-Removing von Dateipfaden oder einzelnen Partitionen, die aus der Host-Umgebung durchgereicht werden, hinzugefügt. Bisher erforderte ein solcher Durchgriff mit dem virtio-fs- oder 9p-Dateisystem das Stoppen der virtuellen Maschine. Um dieses Limit zu umgehen, wurde die Fähigkeit von QEMU zum Hot-Plugging von PCI-Geräten und das Mounten von Pfaden innerhalb des Gastbetriebssystems über incus-agent genutzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4