Wo mancher Leser mag bei dem Gedanken, Podman [1] und systemd [2] enger miteinander zu verknüpfen, die Stirn runzeln. Und dies auch gar nicht zu Unrecht. Schließlich sollten innerhalb von Containern primär Mikroservices ablaufen, ohne dass hierfür der Einsatz eines Servicemanagers wie systemd notwendig ist. Das ist soweit auch richtig und in einer idealen Welt verwaltet ausschließlich Kubernetes Container mit Mikroservices zur Orchestrierung. Allerdings zeigt die Erfahrung, dass dies nicht immer möglich ist und insofern auch andere Architekturen zu berücksichtigen sind. Einer der Gründe hierfür ist sicherlich, dass Software oftmals noch in klassischer Form vorliegt und nicht zwingend einer Mikroservice-basierten Architektur folgt.
Administratoren wollen natürlich dennoch nicht auf die Vorteile verzichten, die der Einsatz der Software innerhalb eines Containers mit sich bringt. Daneben existieren auch Anwendungsfälle, Software in Containern wie reguläre Services auf einem Host zu betreiben. Da Podman ja bekannterweise, anders als Docker, auf einem fork/exec-Modell basiert, ist es ein Leichtes, Container unter die Kontrolle von systemd zu stellen, um somit sämtliche Vorteile, die der System- und Service-Manager mit sich bringt, zu nutzen. Der Open-Source-Tipp in diesem Monat zeigt Ihnen Beispiele für beide Anwendungsfälle.
Zuerst geht es darum, wie Sie ganz einfach eine beliebige Software innerhalb eines Containers unter die Kontrolle von systemd stellen. Listing 1 zeigt ein Container-File, mit dessen Hilfe Sie ein neues Container-Image erzeugen können. Die Beschreibungsdatei für das neue Image installiert die gewünschte Software, in diesem Fall einfach den Apache-Webserver, legt eine einfache Konfiguration für den Service an und erzeugt ebenfalls eine systemd-Unit-Datei. Schließlich folgt die Anweisung, den
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.