2 Roadmap

2.1 Lernpfade und Themenrouten

Dieses Dokument deckt eine recht breite Themenlandschaft rund um Podman ab – von den technischen Grundlagen der Container-Runtime über Build- und Image-Handling, Netzwerk- und Storage-Modelle, Pods, Compose-Workflows, Systemintegration mit systemd, bis hin zur Interaktion mit Kubernetes und advanced Diagnostics. Die Kapitelstruktur ermöglicht es, sehr unterschiedliche Lernziele abzudecken:

– Einstieg in Podman als moderne Container-Engine
– Architektur- und Sicherheitsverständnis auf Kernel-Ebene
– Operativer Betrieb und Troubleshooting
– Multi-Container-Workflows ohne Orchestrator
– Strukturierte Image-Build- und Delivery-Pipelines
– Integration mit systemd für reale Deployments
– Nutzung von Podman als Entwicklungs- und Testumgebung
– Brücken in Richtung Kubernetes und OCI-Ökosystem

Damit der Lernprozess flexibel bleibt, bietet dieser Abschnitt mehrere alternative Routen durch die Themen. Sie bilden didaktische Wege, die je nach Schulungstyp, Zielgruppe und technischer Tiefe eingeschlagen werden können.


2.1.1 Übersicht der Themenlandschaft


2.1.2 Route A: Grundlagenpfad (für Einsteiger, 1-Tages-Workshops)

Dieser Pfad vermittelt die Kernkompetenzen für praktischen Podman-Einsatz ohne tiefere Systemintegration:

Fokus: Konzepte, Bedienung, Container-Lifecycle, Images, Networking, grundlegende Fehlerdiagnose.


2.1.3 Route B: Architekturpfad (für technisch versierte Teilnehmer)

Dieser Pfad geht auf Kernel-Mechanismen, Prozessmodelle und Podman-Architektur ein.

Fokus: Conmon, runc/crun, Namespaces, Cgroups v2, Storage, Netavark, SELinux/AppArmor, Capabilities.


2.1.4 Route C: Workflow-Pfad für Entwickler (Podman als Dev-Tool)

Für Entwickler, die Podman als Alternative zu Docker Desktop oder als Multi-Service-Dev-Environment einsetzen:

Fokus: Build-Optimierung, Multi-Stage, Compose, Pods für Microservices, Hot-Reload-Workflows, Systemd-Einbindung, Roundtrip zu Kubernetes.


2.1.5 Route D: Betriebs- und Diagnosepfad (für Ops-Teams)

Operativer Fokus mit realistischen Fehlerbildern:

Fokus: Diagnose, Netzwerk- und Storage-Fehler, Pod-Fehlerbilder, Analyse von Cgroups, SELinux und Namespace-Interaktionen.


2.1.6 Route E: Kubernetes-Pfad (für K8s-affine Zielgruppen)

Für Teams, die Podman in der Nähe von Kubernetes nutzen oder „generate/play kube“ einsetzen:

Fokus: OCI-Pod-Modell, Roundtrip-Fähigkeiten, Vergleich zu Kubernetes-Pods, Mapping von Netzwerk, Storage und Lifecycle.

2.2 3-Tages-Programm Podman – Strukturierte Themenlandschaft

Dieses Programm ist für sehr heterogene Gruppen gebaut: Einsteiger in Containerbetrieb, Entwickler, Linux-Affinere, Architekten und DevOps-Teams. Jeder Themenblock enthält:

Kerninhalte (Pflichtteil)
optionale Vertiefungen (wenn die Gruppe tiefer gehen will)
flankierende Themen (z. B. Security, Build, Debugging, Compose), die je nach Gruppe unterschiedlich stark gewichtet werden.

Das Programm orientiert sich vollständig an den farblich priorisierten Kapiteln.


2.2.1 Tag 1 – Fundament, Architektur und Betrieb

2.2.2 Block 1 – Einstieg und Positionierung

(Pflicht, kurz, Fokus auf mentale Modelle)

Kapitel: 2, 3, 4, 5

– Warum Podman
– Daemonless vs Docker
– OCI-Ökosystem
– Engine vs Orchestrator

Optionale Vertiefung (je nach Gruppe):

– Historie, CRI-O, Entstehung (Kapitel 6–9)


2.2.3 Block 2 – Architektur & Kernel-Mechanik

(Pflichtinhalt, großes Verständnis-Modul)

Kapitel: 11–18

– Prozessmodell: Conmon, runc/crun
– User Namespace Mapping
– Storage Backends
– Networking: Netavark, Aardvark DNS
– Sicherheitsmechanismen

Mögliche Vertiefungen:

– tiefer in Namespaces
– Rootless als Sicherheitsmodell
– Capabilities/Seccomp in realen Szenarien


2.2.4 Block 3 – Podman auf Linux

(Praxisfokus, Pflicht)

Kapitel: 19–23

– Installation
– Rootless vs rootful
– Registry-Integration
– Konfigurationsdateien: storage.conf / containers.conf / registries.conf

Flankierend (bei Bedarf):

– Podman Machine (Kap. 21)


2.2.5 Block 4 – Container-Lifecycle & Kernoperationen

(Pflicht-Inhalt für jeden Teilnehmer)

Kapitel: 25–29

– Create/Start/Stop/Kill
– Inspect, Logs, Exec, Events
– Ressourcenlimits (CPU, RAM, PID, I/O)

Vertiefungen:

– Events als Debugging-Instrument
– Lifecycle vs systemd


2.3 Tag 2 – Images, Builds, Networking, Storage

2.3.1 Block 5 – Image-Handling & Registries

(Pflicht für DevOps + Entwickler)

Kapitel: 30–36

– Pull/Push
– Tagging
– Registry-Selection
– Pruning / Cleanup
– Signaturen / Policy
– Save/Load/Export/Import

Vertiefungen:

– Multi-Arch Manifeste
– Skopeo/Buildah Interaktion


2.3.2 Block 6 – Image-Build & Build-Pipelines

(Pflichtblock für Entwickler / optional für reine Ops)

Kapitel: 37–42

– Buildah in Podman
– Dockerfile-Verarbeitung
– Multi-Stage
– Layer-Handling / Caching

Optionales Deep Dive:

– Rootless Build Performance
– Build Troubleshooting
– CI/CD-Patterns


2.3.3 Block 7 – Networking

(Pflicht für Infrastruktur-/DevOps-Profil)

Kapitel: 43–47

– Netzwerkmodelle
– Host / Bridge / Slirp4netns
– DNS-Verhalten
– Port-Mapping
– Custom Networks

Optional:

– Multi-Network-Container
– IPAM-Design
– Performance-Betrachtungen


2.3.4 Block 8 – Storage & Volumes

(Pflicht | sehr praxisrelevant)

Kapitel: 48–49

– Bind-Mounts
– Named Volumes
– Storage-Verhalten rootless/root
– Ownership-Mapping

Optional:

– Container-Storage intern
– Storage-Strategien für Datenbanken
– Volumes in CI/CD


2.4 Tag 3 – Pods, Compose, systemd, Kubernetes, Troubleshooting

2.4.1 Block 9 – Pod-Konzept & Multi-Container

(Pflicht, da Podman ohne Orchestrator hier glänzt)

Kapitel: 50–55

– Pod-Architektur (Infra-Container etc.)
– Netzwerk & Namespace-Sharing
– Einsatzszenarien
– Unterschiede zu Kubernetes-Pods

Optional:

– Architekturmuster im Detail
– Sidecar-Patterns


2.4.2 Block 10 – Podman Compose

(Pflicht für Entwickler, sehr sinnvoll für Ops)

Kapitel: 56–60

– Compose → Pod-Modell
– Unterschiede zu docker-compose
– Best Practices
– Compose + systemd

Optional:

– Multi-Container-Patterns
– Profiles / komplexe Topologien


2.4.3 Block 11 – systemd-Integration

(Pflicht – realer Betrieb funktioniert nur damit)

Kapitel: 67–72

– generate systemd
– Units für Container & Pods
– Rootless systemd
– Persistente Services
– Restart-Strategien

Optional:

– Linger / User-Scope-Betrieb
– Clusterlose HA-Muster


2.4.4 Block 12 – Kubernetes-Interaktion

(Pflicht für Kubernetes-affine Gruppen, sonst optional)

Kapitel: 73–77

– generate kube
– play kube
– Roundtrip: Podman ↔︎ Kubernetes
– Grenzen der Konvertierung


2.4.5 Block 13 – Troubleshooting & Diagnose

(Pflicht für alle Ops-, DevOps- und Architektengruppen) Kapitel: 85–90

– Inspect / Logs / Events
– Netzwerk-Diagnose
– Storage-Diagnose
– Typische Fehlermuster
– Debugging unter systemd

Optional:

– seccomp / SELinux / MAC-Debugging
– tiefe Kernel-Analysen


2.5 Gesamtwirkung des 3-Tages-Programms

Die Struktur erfüllt genau den GFU-Ansatz:

Der Trainer steuert die Route – die Teilnehmenden steuern die Tiefe.

– Jeder Block enthält ein Minimum (P1)
– optionale Vertiefungen (P2)
– und echte Spezialthemen (P3)

So kann die Gruppe situativ entscheiden, wie weit sie in die Kernelmechanik, Security-Details, Build-Optimierungen oder Kubernetes-Roundtrip einsteigen möchte – ohne den roten Faden zu verlieren.