17 Pod-Konzept: OCI-Pods, Abgrenzung zu Kubernetes Pods

17.1 Warum der Begriff „Pod“ doppelt besetzt ist

Der Begriff Pod stammt ursprünglich aus dem Kubernetes-Ökosystem. Podman greift ihn auf – jedoch in einer reduzierten, rein hostlokalen Bedeutung. Das führt regelmäßig zu Missverständnissen. Oft wird erwartet, dass ein Pod unter Podman wie ein Mini-Kubernetes funktioniert: mit Replikation, Scheduling, Health Checks oder deklarativer Steuerung. Diese Erwartungen sind unzutreffend.

Podman-Pods basieren auf der Pod-Definition der OCI (Open Container Initiative) und bilden lediglich eine lokale Gruppe von Containern, die sich definierte Kernel-Namespaces teilen. Kubernetes-Pods hingegen sind ein höheres Abstraktionsmodell, das Teil eines Orchestrators ist. Wer die Unterschiede kennt, kann Podman-Pods gezielt einsetzen, ohne sie funktional zu überfrachten.

17.2 Der Kern: Ein gemeinsamer Satz von Namespaces

Ein OCI-Pod ist ein Verbund mehrerer Container, die gemeinsame Namespaces nutzen. Typischerweise sind das:

Das Verhalten der Container ähnelt damit dem Zusammenspiel mehrerer Prozesse in derselben isolierten Umgebung.

Alle Container innerhalb eines Pods kommunizieren über localhost und teilen dieselben grundlegenden Isolationseinheiten des Kernels.

17.3 Warum Podman-Pods nicht Kubernetes-Pods sind

Kubernetes-Pods bieten erheblich mehr Funktionen:

Ein Kubernetes-Pod ist eine Einheit für den Orchestrator.

Ein Podman-Pod ist eine lokale Isolations- und Gruppierungseinheit.

Eine treffende Kurzformel:

Kubernetes-Pods definieren Policies und Verhalten, Podman-Pods definieren Namespaces und Nähe.

Podman kümmert sich nicht um Verteilung, Redundanz oder Lebenszyklusregeln, sondern ausschließlich um die lokale Ausführung.

17.4 Warum Podman überhaupt Pods hat

Die Einführung von Pods folgt der OCI-Spezifikation. Viele reale Workloads benötigen mehrere eng gekoppelte Prozesse, die sich Netzwerk und IPC teilen. Typische Beispiele:

Podman-Pods ermöglichen solche Strukturen ohne zusätzliche Werkzeuge und ohne den Overhead eines Orchestrators.

17.5 Prozessmodell: der Infra-Container als Anker

Podman-Pods basieren auf einem kleinen „infra container“, der als Anker für die gemeinsamen Namespaces dient. Dieser Container führt lediglich einen minimalen Prozess aus, der die Namespaces offen hält.

Das Modell ähnelt dem Kubernetes-„pause“-Container.

Beendet der Infra-Container seine Ausführung, endet der gesamte Pod.

17.6 Netzwerkverhalten: localhost statt Overlay-Netzwerke

Da alle Container denselben Netzwerk-Namespace teilen, ergeben sich einige Eigenschaften:

Dieses Modell ist effizient und einfach zu debuggen. Für komplexe lokale Anwendungen, die mehrere eng gekoppelte Prozesse haben, ergibt sich ein klarer Vorteil gegenüber separaten Containern in eigenen Netzwerken.

17.7 Abgrenzung: Was Pods nicht tun

Podman-Pods bieten bewusst nur eine Minimalfunktionalität. Sie übernehmen keine Aufgaben wie:

All diese Themen gehören in eine darüberliegende Ebene wie Kubernetes oder einen anderen Orchestrator.

Ein guter Merksatz:

Podman-Pods modellieren die lokale technische Nähe, nicht das verteilte Systemverhalten.

17.8 Workflows: „generate kube“ als Brücke

Mit podman generate kube können Podman-Pods in Kubernetes-Manifeste exportiert werden. Der Export ist nicht vollständig äquivalent, aber als Hilfsmittel sinnvoll, um lokale Pod-Strukturen später in Kubernetes-Konzepte zu übertragen.

Beispielhafter Ablauf:

Der Mechanismus dient als Übergang, nicht als vollständige Übersetzung.

17.9 Wann Pods besonders sinnvoll sind

Typische Einsatzszenarien:

In diesen Situationen bieten Pods eine einfache Möglichkeit zur Strukturierung, ohne zusätzliche Infrastruktur aufzubauen.

17.10 Ein Pod ist lokal – und genau das ist seine Stärke

Podman-Pods sind kein Orchestrator-Ersatz. Sie bilden lediglich eine lokale, klar definierte Ausführungseinheit mit gemeinsamem Namespace-Verbund. Diese Reduktion macht sie durchschaubar, effizient und gut für Szenarien geeignet, in denen mehrere Prozesse eng miteinander verzahnt sind, aber keine verteilte Orchestrierung benötigt wird.