16 Networking: Netavark vs. CNI

16.1 Warum Podman ein eigenes Netzwerk-Subsystem bekam

Container-Netzwerke gehören zu den anspruchsvollsten Bereichen der Virtualisierung. Lange Zeit nutzte Podman dieselben Mechanismen wie Kubernetes: CNI (Container Network Interface). Dieses Modell ist für orchestrierte Multi-Node-Cluster hervorragend geeignet, stößt jedoch bei einer daemonlosen Single-Host-Engine an strukturelle Grenzen.

Podman besitzt keine zentralen Agenten, keine Knotenabstraktion und keinen übergeordneten Netzwerkcontroller. CNI hingegen ist genau für solche Clusterarchitekturen entworfen. Mit zunehmender Reife wurde klar: Die Anforderungen einer Einzelhost-Engine unterscheiden sich grundlegend von denen eines Orchestrators.

Die Antwort darauf war die Entwicklung von Netavark, einem speziell auf Podman zugeschnittenen Netzwerkstack, kombiniert mit Aardvark DNS.


16.2 CNI: Stark im Cluster, schwerfällig auf Einzelhosts

CNI basiert auf einem Plugin-Modell. Beim Aufbau eines Netzwerks werden nacheinander mehrere Programme ausgeführt – für Bridges, IPAM, Firewallregeln und DNS.

Ein typischer Ablauf:

Vorteile:

Nachteile im Podman-Kontext:

Für eine Single-Host-Engine wirkt das überdimensioniert.


16.3 Netavark: Netzwerklogik ohne Plugin-Kaskaden

Netavark verfolgt einen radikal anderen Ansatz: keine Plugin-Ketten, keine orchestratorähnlichen Abhängigkeiten. Stattdessen ein einzelnes, kompaktes Binary mit deterministischem Verhalten.

Merkmale:

Damit wird Netzwerkmanagement für Podman nachvollziehbarer und robuster.


16.4 Aardvark DNS: lokales DNS ohne Orchestrator

CNI überlässt DNS weitgehend Zusatzplugins oder dem Orchestrator. Netavark integriert DNS direkt: Aardvark DNS speichert Container-Namen eines Netzwerks in einer zentralen, leicht verständlichen Struktur.

Vorteile:

Damit genügt oft der reine Containername zur internen Kommunikation.


16.5 Rootless Networking: Slirp4netns + Netavark

Rootless-Container nutzen weiterhin slirp4netns als NAT-Mechanismus. Netavark ergänzt dies durch:

Schematisch:

Der gesamte Stack bleibt überschaubar und deterministisch.


16.6 Performancebetrachtung: CNI vs. Netavark

Messungen und Praxiserfahrung zeigen:

Vor allem in Szenarien mit vielen kurzlebigen Containern wirkt sich das spürbar aus.


16.7 Parallelen und klare Abgrenzung

Die Rollenverteilung ist eindeutig:

Einsatzszenario Empfohlenes System
Kubernetes, Multi-Node, SDN, große Cluster CNI
Podman auf Einzelhosts Netavark
Rootless Setups Netavark
komplexe Cluster-Netzwerke (Calico, Cilium) CNI

Netavark will CNI nicht ersetzen – es adressiert einen völlig anderen Anwendungsfall.


16.8 Debugging und operative Praxis

Netzwerkprobleme gehören zu den häufigsten Fehlerklassen in Containerumgebungen. Netavark vereinfacht die Fehlersuche erheblich.

Vorteile:

Beispiel: Ein Container web im Netzwerk mynet lässt sich unmittelbar ansprechen:

ping web.mynet

Netzwerkinspektion:

podman network inspect mynet

Die Ausgabe enthält Interfaces, Routen, IPAM-Daten und DNS-Einträge – vollständig durch Netavark generiert.


16.9 Ein Netzwerkmodell, das zur Philosophie von Podman passt

Netavark passt exakt zu Podmans Grundprinzipien:

Es ist nicht für große Cluster gedacht – genau so wie Podman selbst. Dafür bietet es ein einfaches, transparentes und leistungsfähiges Netzwerkmodell für Einzelhosts, Workstations, Edge-Geräte und Server ohne Orchestrator.