Zuletzt aktualisiert am

Podman 6.0 erscheint mit kompatibilitätsbrechenden Änderungen und Unterstützung für AMD-GPUs

Podman 6.0 verzichtet auf CNI, cgroups v1, iptables, slirp4netns, Windows 10 und die Unterstützung für Intel-Macs, bietet dafür aber neue Funktionen für Maschinen und Quadlet.
Eine Übersetzung von 🇬🇧 Linuxiac.com

Podman 6.0 wurde als umfangreiches Update der Open-Source-Container-Engine veröffentlicht und bringt einen Sicherheitspatch, neue Funktionen für Podman Machine und Quadlet, Unterstützung für AMD-GPUs sowie eine lange Liste kompatibilitätsbrechender Änderungen mit sich, durch die mehrere ältere Technologien aus dem Stack entfernt werden.

Der wichtigste Aspekt von Podman 6.0 ist die Bereinigung der Legacy-Unterstützung. Ab dieser Version unterstützt Podman keine cgroups v1-Systeme mehr; Nutzer müssen auf cgroups v2 umsteigen. Die Unterstützung für iptables wurde ebenfalls entfernt, sodass nun nftables erforderlich ist.

Im Netzwerk-Stack entfällt die CNI-Unterstützung, und Nutzer werden auf Netavark verwiesen. Ebenso wurde der rootless Netzwerk-Stack slirp4netns entfernt; Pasta dient nun als Ersatz.

Mit dieser Version wird auch die Unterstützung für den Betrieb von Podman auf Intel-Macs und unter Windows 10 eingestellt. Eine weitere nennenswerte Änderung ist die Entfernung der BoltDB-Unterstützung. Wenn Podman 6 auf einem System gestartet wird, das noch eine BoltDB-Datenbank verwendet, versucht es automatisch, die Datenbank nach SQLite zu migrieren.

Aufgrund der kompatibilitätsbrechenden Änderungen muss Podman 6.0 zusammen mit Buildah 1.44, Skopeo 1.23, Netavark und Aardvark 2.0 sowie Konfigurationsdateien aus der Version common/v0.68 von container-libs verwendet werden. Zudem hat sich der Importpfad von Podman von github.com/containers/podman/v5 zu go.podman.io/podman/v6 geändert, da das Projekt in eine CNCF-eigene GitHub-Organisation verlagert wurde.

Es gibt auch Änderungen im Verhalten. Die Netzwerkisolierung ist nun standardmäßig aktiviert, was die Docker-Kompatibilität und die Sicherheit verbessert. Der Befehl podman commit hält Container nun während des Commits an, wodurch das Risiko gleichzeitiger Änderungen während des Vorgangs verringert wird. Das bisherige Verhalten kann weiterhin mit --pause=false“ wiederhergestellt werden.

Was die Verwaltung von Podman-Volumes betrifft, entspricht der Befehl podman volume prune nun dem Verhalten von Docker, indem standardmäßig nur ungenutzte anonyme Volumes entfernt werden. Nutzer, die das bisherige Verhalten wünschen, bei dem alle ungenutzten Volumes entfernt wurden, müssen die neue Option --all angeben. Außerdem wurde eine neue Option namens --dry-run hinzugefügt, mit der Nutzer vor dem Entfernen sehen können, welche Volumes entfernt würden.

Im Zuge weiterer Änderungen können nun alle podman machine Befehle auf virtuellen Maschinen beliebiger Anbieter ausgeführt werden, unabhängig vom konfigurierten Anbieter. Der neue Befehl podman machine os update aktualisiert das Betriebssystem innerhalb einer Podman Machine-VM, wird jedoch vom WSL-Anbieter nicht unterstützt.

Darüber hinaus kann Podman Machine nun mithilfe der neuen Option --import-native-ca die vertrauenswürdigen CA-Zertifikate des Hostsystems in VMs unter Linux, macOS und Windows importieren.

Unter Linux binden Podman-Machine-VMs nun Host-Volumes mithilfe von systemd ein. Diese Änderung führt dazu, dass die Volume-Einbindungen auf bestehenden Linux-Podman-Machine-VMs nicht mehr funktionieren, sodass diese Maschinen neu erstellt werden müssen. Unter macOS wurde der Standard-Podman-Machine-Anbieter auf libkrun umgestellt.

Quadlet, das Tool, das die Ausführung von Containern als systemd-Dienste automatisiert und vereinfacht, erhält ebenfalls mehrere Aktualisierungen. Der Befehl podman quadlet legt Quadlets und die zugehörigen Dateien nun in Unterverzeichnissen ab, anstatt sie über eine .app Datei zu verwalten.

Darüber hinaus bietet die neue Version Unterstützung für UID=, GID= und Options= bei .volume Einheiten und führt neue Suchpfade ein, um Distributionen die Paketierung und Verteilung von Quadlets zu erleichtern.

Für Container-Workloads erweitert Podman 6.0 die Option --gpus, die mit podman create und podman run verwendet wird, um die Kompatibilität mit AMD-GPUs. Container können nun auch mehrere statische IP-Adressen verwenden, indem die Option ip= mehrfach an --net übergeben wird. Darüber hinaus kann der Befehl podman network create Blackhole-, Unreachable- und Prohibit-Routen erstellen, wodurch Administratoren den Zugriff von Containern auf bestimmte Netzwerke blockieren können.

Weitere kleinere Neuerungen umfassen eine neue Option --no-session für podman exec, die die Leistung durch Deaktivierung der API-Sitzungsverfolgung und von Datenbankoperationen verbessert, neue Felder für Repository und Tag bei podman image list --format json, eine benutzerdefinierte TLS-Optimierung über die Option --tls-details, die Meldung von CDI-Geräten in podman info sowie neue Lebenszyklusereignisse für Artefakte.

Weitere Details finden Sie im Changelog.

Und abschließend noch einmal: Podman 6.0 ist eine bedeutende Modernisierungsversion. Systeme, die noch auf CNI, slirp4netns, iptables, cgroups v1, BoltDB, Windows 10 oder die Unterstützung für Intel-Macs angewiesen sind, müssen diese Entfernungen daher vor dem Upgrade berücksichtigen.

 

Spendieren Sie Bobby einen ☕ Ko-fi

s3n🧩net wünscht viel Vergnügen

Comments