Überblick
Podman Desktop ist ein kostenloses Open Source-Tool, das das Arbeiten mit containerisierten Softwareanwendungen in einer lokalen Entwicklungsumgebung vereinfacht. Mit Podman Desktop können Entwicklungsteams Container über eine grafische Benutzeroberfläche (GUI) in ihren lokalen Windows-, macOS- oder Linux®-Umgebungen verwalten.
Podman Desktop ist mit dem Podman-Projekt verbunden, einem Tool für das Container-Management. Red Hat ist einer der führenden Mitwirkenden bei den Open Source-Projekten Podman und Podman Desktop.
Warum mit Containern und Kubernetes arbeiten?
Die Vorteile von Podman Desktop decken sich mit den Vorteilen der Arbeit mit Containern. Container paketieren sämtliche Dateien, die eine Anwendung zum Ausführen benötigt, in einem Image, das konsistent und einfach in verschiedenen Computing-Umgebungen eingesetzt werden kann. Containerisierte Anwendungen sind voneinander isoliert, sodass ein Fehler, der eine Anwendung betrifft, keine Auswirkungen auf andere Anwendungen hat. Ein Container kann angehalten und neu gestartet werden, ohne dass andere Container oder andere Services unterbrochen werden müssen.
Ein containerisierter Ansatz ist gut für die Entwicklung einer Hybrid Cloud geeignet. Sie können eine Anwendung entwickeln und testen und dann davon ausgehen, dass sie in Ihrer Entwicklungs-, Test- und Produktivumgebung gleichermaßen funktioniert, unabhängig davon, ob diese Umgebungen On-Premise sind oder sich in einer Cloud oder Multi Cloud befinden.
Stellen Sie sich nun vor, Sie nutzen containerisierte Services, um einen großen Use Case in einem Unternehmen zu unterstützen. Dazu müssten viele verschiedene Container zusammenarbeiten und sich auf einen gemeinsamen Pool von Computing-Ressourcen stützen. An dieser Stelle kommt Kubernetes ins Spiel, eine quelloffene Container-Orchestrierungsplattform, die für das Verwalten von Container-Flotten in großem Umfang entwickelt wurde. Mit containerisierter Entwicklung und Kubernetes können Softwareteams große Projekte unterstützen und gleichzeitig für schnelle Iteration und Skalierbarkeit sorgen. Zudem können sie Kontrollen zur Container-Sicherheit als Teil einer CI/CD-Pipeline (Continuous Integration/Continuous Delivery) implementieren.
Das klingt großartig, aber um Container nutzen zu können, müssen Anwendungsteams im Vorfeld Software für Kubernetes entwerfen und entwickeln. Viele Softwareteams haben nur begrenzte Erfahrungen mit Kubernetes. Mit Podman Desktop können Entwicklungsteams sich mit Containern vertraut machen und ihr Verständnis von Kubernetes durch praktische Erfahrungen erweitern. Außerdem kann Podman Desktop Sie bei der laufenden, lokalen Entwicklung containerisierter Anwendungen unterstützen.
Mit Podman Desktop können Sie auch in Ihrer lokalen Umgebung entwickeln, ohne externe Ressourcen zu beeinträchtigen oder darauf warten zu müssen, dass Ihr Operations-Team die Infrastruktur provisioniert.
Bevor wir näher auf die Details von Podman Desktop eingehen, schauen wir uns zunächst das Podman-Projekt und seine Funktionen an.
Was ist Podman?
Podman (Kurzform von „Pod Manager“) ist ein Open Source-Projekt für das Arbeiten mit Containern. Es stellt die Basis für Podman Desktop dar. Das Tool unterstützt standardmäßig Rootless-Container und erhöht die Sicherheit, indem es die Notwendigkeit von Root-Berechtigungen minimiert und das Risiko von Schwachstellen im System reduziert.
Podman gruppiert Container in Pods, die zusammen ausgeführt werden und Ressourcen gemeinsam nutzen, ähnlich wie Kubernetes-Pods. Das Tool verwaltet diese Pods über eine Befehlszeile (CLI) und die Library „libpod“, die APIs (Application Programming Interfaces) für die Verwaltung von Containern, Pods, Container Images und Volumes bereitstellt.
Standardmäßig erstellt und unterstützt Podman OCI-Container (Open Container Initiative), die so konzipiert sind, dass sie Branchenstandards für Container Runtimes und -Formate erfüllen. Das Tool führt auch Docker-formatierte Images aus. Podman ist eine vollwertige Alternative zu Docker – oder eine Ergänzung, da die beiden kompatibel sind.
Welche Anwendungsmöglichkeiten bietet Podman Desktop?
Mit der GUI von Podman Desktop können Sie Container und Pods lokal auf Ihrer Workstation oder Ihrem Laptop entwickeln, ausführen, verwalten und debuggen. Sie können Pods mit oder ohne Kubernetes ausführen und mehrere Container Engines verwalten.
Arbeiten mit Containern
Mit Podman Desktop können Sie Container Images aus beliebigen Registries abrufen. Das Tool bietet eine einheitliche Ansicht Ihrer Container mit Steuerelementen, mit denen Sie diese per Mausklick starten, stoppen, löschen, neu starten, exportieren und bereitstellen können. So können Sie:
- Protokolle anzeigen und Zugriff auf einen aktiven Container erhalten, ohne die Benutzeroberfläche von Podman Desktop zu verlassen
- Ihre eigenen Container Images erstellen und in beliebige Registries übertragen
- Container für Ihre Anwendung in Pods gruppieren und einheitliche Protokolle für Ihre Pods anzeigen
Arbeiten mit Kubernetes
Mit Podman Desktop können Sie sich hervorragend mit Kubernetes-Konzepten wie Architekturen ohne Daemon und Pods vertraut machen und diese dann in die Praxis umsetzen. So können Sie:
- Anwendungen für Kubernetes-Deployments vorbereiten, indem Sie Kubernetes-Anweisungen im YAML- Format generieren
- Kubernetes YAML lokal testen, bevor Sie sie in einem Cluster bereitstellen
- Einen lokalen Kubernetes-Cluster einrichten und Ihre Anwendungen testen
- Ihre Anwendungen in Ihren Deployment-Prozess integrieren
Aktivieren unternehmensgerechter Funktionen
Podman Desktop enthält Funktionen, die für das Arbeiten in großen Unternehmensumgebungen hilfreich sind. Sie können VPNs (Virtual Private Networks) und Proxies konfigurieren, mit mehreren Image Registries interagieren und sich über Red Hat® OpenShift® mit Remote-Clustern verbinden und diese bereitstellen.
Arbeiten mit startfähigen Containern
Startfähige Container betten ein vollständiges Betriebssystem in einen Container ein. Mit der bootc-Erweiterung von Podman Desktop können Sie startfähige Container Images in gängigen Formaten für Bare Metal-Hardware, Amazon Web Services, virtuelle Maschinen und vieles mehr erstellen.
Mehr Möglichkeiten mit Podman Desktop-Erweiterungen
Sie können Podman Desktop mit Erweiterungen um neue Funktionen ergänzen. Einige Erweiterungen bieten Integrationen mit Anbietern von Container Engines und Kubernetes oder ermöglichen Aktionen, Menüs, Konfigurationen und andere nützliche Funktionen.
Als Nächstes werfen wir einen Blick auf 2 Erweiterungspakete, die das Arbeiten mit LLMs (Large Language Models) und Red Hat Plattformen vereinfachen.
Was ist Podman AI Lab?
Mit dem Erweiterungspaket Podman AI Lab kann Podman Desktop als Einstiegspunkt für Experimente mit generativen KI-Anwendungen (generative künstliche Intelligenz) dienen.
Podman AI Lab bietet eine GUI zum Entwickeln, Testen und Ausführen von LLM-Anwendungen in einer lokalen Umgebung. Die lokale Ausführung von LLMs kann Ihre Architektur vereinfachen und das Sicherheitsrisiko durch die Weitergabe sensibler Daten an externe KI-Services beseitigen.
Podman AI Lab enthält einen Katalog mit Rezepten für gängige Use Cases für generative KI, einschließlich Chatbots und Code-Generierung. Sie können aus einer kuratierten Liste von LLMs mit Open Source-Lizenz auswählen, die Sie herunterladen und lokal ausführen können. Außerdem können Sie in wenigen Schritten eine Playground-Umgebung einrichten, um verschiedene LLMs zu testen.
Was ist das Red Hat Erweiterungspaket für Podman Desktop?
Das Red Hat Erweiterungspaket für Podman Desktop ist ein Einstiegspunkt für das Arbeiten mit Red Hat Plattformen. Wenn Sie eine Anwendung entwickeln, die auf Red Hat OpenShift bereitgestellt werden soll, helfen diese kostenlosen Erweiterungen dabei, Ihre lokalen und Produktivumgebungen zu verbinden.
Lokale Erweiterung für Red Hat OpenShift
Red Hat OpenShift ist eine unternehmensgerechte Anwendungsplattform. Fangen Sie in Ihrer lokalen Umgebung damit an, und lernen Sie, mit dieser Erweiterung einen Red Hat OpenShift Cluster mit einem einzelnen Knoten zu konfigurieren und einzurichten.
Developer Sandbox-Erweiterung für Red Hat OpenShift
Die Developer Sandbox für Red Hat OpenShift ermöglicht eine gemeinsam genutzte Red Hat OpenShift Remote-Umgebung zum Entwickeln, Testen, Prüfen, Debuggen und Bereitstellen von Anwendungen.
Red Hat SSO-Erweiterung
Die SSO-Technologie (Single Sign-On) von Red Hat vereinfacht das Erstellen von und das Anmelden bei einem Red Hat Konto. Mit der Red Hat SSO-Erweiterung können Sie sich für das Red Hat Developer Programm registrieren, auf die Binärdateien für den Image-Modus von Red Hat Enterprise Linux zugreifen und vieles mehr.
Bootc-Erweiterung
Startfähige Container sind Disk Images, die das Betriebssystem direkt in einen Container einbetten. Mit der Erweiterung „bootc“ können Sie startfähige Container von normalen Containern in Podman Desktop unterscheiden.
Was ist der Unterschied zwischen Podman Desktop und Docker Desktop?
Das Unternehmen Docker und seine Community von Nutzenden haben den Industriestandard für Container-Anwendungen geschaffen und weit verbreitet. Docker bietet eine GUI namens Docker Desktop, die für begrenzte Use Cases kostenlos zur Verfügung steht.
Obwohl es sich bei beiden um GUI-Tools zum Managen von Containern handelt, sind Podman Desktop und Docker Desktop unterschiedliche Angebote.
Der wichtigste architektonische Unterschied zwischen Podman und Docker besteht darin, dass Podman keinen Daemon benötigt und damit ein wesentliches Merkmal von Kubernetes aufweist: die Unterstützung beim Anpassen lokaler Entwicklungsmethoden an Kubernetes-Umgebungen. Eine Architektur ohne Daemon ist nicht auf einen Prozess mit Root-Berechtigungen angewiesen, um Container auszuführen, wodurch Containerumgebungen zugänglicher und gleichzeitig Sicherheitsrisiken reduziert werden. Die Desktop-Versionen von Podman und Docker behalten diese Unterscheidung bei.
Da Podman Desktop größtenteils von Red Hat gesponsert und entwickelt wird, lässt es sich leicht in unsere anderen Technologien wie Red Hat OpenShift integrieren.
Podman ist mit Docker kompatibel, sodass Container, die Sie auf einer der Plattformen erstellen, auch auf der anderen funktionieren. Sie können auch Docker Desktop-Erweiterungen in Podman Desktop ausführen.
Wie Red Hat helfen kann
Über Podman Desktop können Sie Erfahrungen mit Containern und Kubernetes-Pods sammeln und in andere Red Hat Technologien einsteigen, die Container unterstützen, darunter Red Hat Enterprise Linux und Red Hat OpenShift.
Red Hat Enterprise Linux ist ein Standard für das Ausführen von Linux-Containern in Unternehmensumgebungen. Es ermöglicht Ihnen das einfache Einrichten von Containern, das Verwalten von Deployments und die beschleunigte Entwicklung neuer Anwendungen. Mit portierbaren Anwendungen und Containern, die auf Red Hat Enterprise Linux in Open Hybrid Cloud-Umgebungen basieren, bleibt Ihr Unternehmen agil und kann sich mit Ihren Zielen weiterentwickeln.
Red Hat OpenShift ist eine zuverlässige, umfassende und konsistente Plattform zum Entwickeln, Modernisieren und Bereitstellen von Anwendungen in großem Umfang. Red Hat OpenShift wurde auf Basis von Kubernetes entwickelt und stellt umfassende Services bereit, mit denen Sie Anwendungen auf einer Infrastruktur Ihrer Wahl auf den Markt bringen können. Mit Red Hat OpenShift können Entwicklungsteams neue containerisierte Anwendungen erstellen, hosten und in der Cloud mit der Skalierbarkeit, Kontrolle und Orchestrierung bereitstellen, die notwendig sind, um aus einer guten Idee schnell und einfach ein neues Geschäft zu machen.