62 Virtuelle Basis

Podman Machine steht und fällt mit der virtuellen Basis, auf der es Container betreibt. Während Podman unter Linux direkt mit Kernel-Namespaces, cgroups und Overlayfs arbeitet, müssen macOS und Windows diese fundamentalen Mechanismen nachbilden. Die virtuelle Basis ist deshalb kein bloßer „Unterbau“, sondern ein integraler Bestandteil der gesamten Architektur. Sie definiert, wie Containerprozesse laufen, wie Storage gehandhabt wird, wie Netzwerkpfade verlaufen und wie stark der Host in die Containerumgebung hineinwirkt.

Die virtuellen Maschinen, die Podman Machine erzeugt, sind bewusst minimalistisch: kein Overhead, kein schweres Userland, keine GUI. Stattdessen eine schlanke Linux-Distribution, die genau das bereitstellt, was Podman benötigt — nicht mehr, aber auch nicht weniger.

62.1 Warum eine VM unverzichtbar ist

macOS und Windows verfügen nicht über die fundamentalen Kernel-Primitiven moderner Container-Engines: keine Linux-Namespaces, keine cgroupsv2, keine Overlayfs-Mechanik. Auch wenn Virtualisierungstechnologien des Hosts leistungsfähig sind, können sie die dafür essenziellen Linux-Subsysteme nicht nativ nachbilden.

Podman Machine löst dieses Problem nicht durch Emulation, sondern durch Virtualisierung:

Das Ergebnis ist ein vollwertiger Linux-Containerhost in einer extrem schlanken VM.

62.2 Komponenten der virtuellen Basis

Eine Podman-Machine-VM besteht im Kern aus vier funktionalen Elementen:

  1. Hypervisor (QEMU, HVF, WSL2, Hyper-V)
  2. Minimalistisches Linux-Image (meist Fedora CoreOS oder darauf basierend)
  3. Provisioning-Mechanismus (cloud-init-artig)
  4. Kommunikationsschicht (SSH, Socket-Forwarding, virtiofs)

Diese vier Komponenten greifen wie Zahnräder ineinander. Besonders der letzte Punkt — die Kommunikationsschicht — bestimmt, wie nahtlos Podman auf dem Host wirkt.

62.3 Fedora CoreOS als Basisschicht

Fedora CoreOS (oder ein nahe verwandtes Image) ist bewusst gewählt:

CoreOS ist ein „appliance-style“-Linux: kaum Pakete, kaum Overhead, konsequent auf Containerbetrieb ausgerichtet. Ein klassischer Paketmanager fehlt — auch das ist Absicht. Modifikationen laufen über declarative Ignition-Files und Remote-Updates, niemals über ad-hoc Paketinstallationen.

Für Podman Machine bedeutet das:

62.4 Boot- und Provisioning-Prozess

Beim Erzeugen einer Machine passiert mehr als nur das Starten einer VM:

  1. Download des Basisimages
  2. Initialisierung der Ignition-Konfiguration
  3. Anlegen eines Benutzeraccounts
  4. Einrichten der SSH-Kommunikation zum Host
  5. Konfiguration des Storage-Backends
  6. Starten der podman-Systemd-Units

Dieser Prozess ist deterministisch. Dadurch ist die gesamte Machine jederzeit reproduzierbar — ein großer Vorteil in Entwicklungsumgebungen.

62.5 Storage: virtiofs, Overlayfs und Co.

Die virtuelle Basis nutzt mehrere Filesystem-Layer:

62.5.1 Virtiofs (macOS)

Virtiofs ist einer der ganz großen Vorteile gegenüber Docker Desktop, das lange Zeit auf osxfs setzte — und damit massive I/O-Probleme hatte.

62.5.2 Overlayfs oder fuse-overlayfs

Containerlayer werden innerhalb der VM abgelegt:

Das Overlay-System der VM verhält sich identisch zu echtem Linux, inklusive:

62.5.3 QCOW2 als VM-Storage

Die virtuelle Festplatte der Machine liegt in einem QCOW2- oder Raw-Image:

QCOW2 ist kein Ersatz für native SSD-Performance, aber hervorragend geeignet zur flexiblen Verwaltung und schnellen Reproduktion.

62.6 Netzwerk: NAT, Port-Forwarding und interne DNS

Das Netzwerk der virtuellen Basis ist ein dreistufiges Modell:

Wesentliche Merkmale:

Der Host benutzt weiterhin localhost, die VM verbirgt jedoch interne Netzstrukturen.

62.7 SSH als universelles Kommunikationsprotokoll

Alle Podman-Befehle auf macOS/Windows werden über SSH weitergeleitet:

podman ps

entspricht intern:

ssh core@machine podman ps

Das hat Vorteile:

Für Architekten ein Segen: alles ist transparent und standardbasiert.

62.8 Ressourcenverwaltung: CPU, RAM und Zuweisungsstrategien

Podman Machine verwaltet CPU und Speicher über den Hypervisor. Empfohlene Strategien:

Die VM ist stateful, aber leicht zu verwerfen — sie sollte nicht mit zu viel Storage überladen werden.

62.9 Warum die virtuelle Basis ein Vorteil ist

Während Docker Desktop versucht, eine „magische“ Illusion zu erzeugen, dass macOS/Windows Docker-nativ wären, macht Podman Machine genau das Gegenteil: Es zeigt transparent, was wirklich passiert. Die virtuelle Basis bildet den Container-Host präzise ab, ohne ihn zu verstecken.

Der große Gewinn:

Podman folgt damit derselben Philosophie wie auf Linux selbst: Klarheit statt Magie.