Présentation
Podman Desktop est un outil Open Source gratuit qui simplifie l'utilisation d'applications logicielles conteneurisées en local. Il permet aux équipes de développement de gérer des conteneurs par le biais d'une interface utilisateur graphique dans leurs environnements Windows, macOS ou Linux® locaux.
Podman Desktop est associé au projet Podman, un outil de gestion des conteneurs. Red Hat est le principal contributeur de ces deux projets Open Source.
Avantages de l'utilisation de conteneurs et de Kubernetes
Podman Desktop offre les avantages liés à l'utilisation de conteneurs. Ces derniers rassemblent tous les fichiers dont les applications ont besoin pour s'exécuter sous la forme d'une image qui peut être déployée de façon simple et cohérente dans différents environnements de calcul. Les applications conteneurisées sont isolées les unes des autres, ce qui signifie que les problèmes rencontrés par l'une d'entre elles n'ont pas d'incidence sur les autres applications. Un conteneur peut être arrêté et redémarré sans interrompre les autres conteneurs ou services.
La conteneurisation est idéale pour le développement dans des environnements de cloud hybride. Il est possible de concevoir et tester une application qui fonctionnera de la même manière dans tous les environnements (développement, test, production), qu'ils soient sur site, dans le cloud ou multicloud.
Imaginons une grande entreprise qui a recours à des services conteneurisés pour l'un de ses cas d'utilisation. Elle doit exploiter plusieurs conteneurs différents, qui reposent sur un pool partagé de ressources de calcul. Entre alors en jeu Kubernetes, une plateforme d'orchestration Open Source conçue pour gérer des flottes de conteneurs à grande échelle. Grâce au développement basé sur des conteneurs et à Kubernetes, les équipes logicielles mettent en œuvre des projets d'envergure, en garantissant la rapidité de mise à l'échelle et d'itération. Elles établissent également des contrôles de sécurité des conteneurs dans le cadre d'un pipeline d'intégration et de distribution continues (CI/CD).
Si cette approche semble parfaite, il faut toutefois d'abord concevoir et développer des logiciels compatibles avec Kubernetes pour tirer parti efficacement des conteneurs. Et dans ce domaine, l'expérience de la plupart des équipes logicielles est souvent limitée. Avec Podman Desktop, les équipes de développement peuvent renforcer leur expérience pratique dans la gestion des conteneurs et se familiariser avec Kubernetes. Cet outil facilite aussi le développement continu et en local d'applications conteneurisées.
Podman Desktop permet également de développer des applications dans un environnement local, sans affecter les ressources externes et sans avoir à attendre que les équipes d'exploitation provisionnent l'infrastructure.
Avant de détailler Podman Desktop, intéressons-nous au projet Podman.
Podman, qu'est-ce que c'est ?
Podman (version contractée de « POD manager », ou gestionnaire de pods) est un projet Open Source qui permet d'utiliser des conteneurs. C'est la base sur laquelle repose Podman Desktop. Podman prend en charge les conteneurs rootless par défaut, ce qui limite le recours aux privilèges root et le risque de vulnérabilités du système, pour une sécurité renforcée.
Podman rassemble les conteneurs dans des pods, qui fonctionnent ensemble et partagent des ressources, comme des pods Kubernetes. Podman gère ces pods grâce à une interface en ligne de commande et à la bibliothèque libpod, qui fournit des interfaces de programmation d'application (API) pour la gestion des conteneurs, des pods, des images de conteneurs et des volumes.
Par défaut, Podman crée et prend en charge des conteneurs OCI (Open Container Initiative), conçus dans le respect des normes du secteur en matière de format et d'exécution des conteneurs. Il exécute également des images au format Docker. Podman peut remplacer Docker, car il présente les mêmes fonctions, ou le compléter, puisque les deux outils sont compatibles.
Fonctions de Podman Desktop
L'interface utilisateur graphique de Podman Desktop permet d'accéder à des fonctions de création, d'exécution, de gestion et de débogage de conteneurs et de pods en local depuis un poste de travail ou un ordinateur portable. Il est possible d'exécuter des pods avec ou sans Kubernetes, et de gérer plusieurs moteurs de conteneurs.
Utilisation des conteneurs
Podman Desktop permet de récupérer des images de conteneurs dans tous types de registres. Il fournit une vue centralisée de tous les conteneurs, à partir de laquelle ces derniers peuvent être démarrés, arrêtés, supprimés, redémarrés, exportés et déployés en quelques clics. Il est aussi possible :
- de consulter les journaux et d'accéder via le shell à un conteneur en cours d'exécution sans quitter l'interface de Podman Desktop ;
- de créer des images de conteneurs personnalisées et de les envoyer vers tous types de registres ;
- de grouper des conteneurs dans des pods pour des applications et de consulter des journaux qui rassemblent les informations relatives aux pods.
Utilisation de Kubernetes
L'utilisation de Podman Desktop permet de se familiariser facilement avec les concepts de Kubernetes, tels que les architectures sans démon et les pods, pour ensuite les mettre en application. Il est aussi possible :
- de préparer des applications pour les déploiements Kubernetes en générant des instructions Kubernetes au format YAML ;
- de tester des fichiers YAML Kubernetes en local avant de les déployer dans un cluster ;
- de mettre en route un cluster Kubernetes local et de tester des applications ;
- d'intégrer ces applications aux processus de déploiement.
Utilisation de fonctions d'entreprise à grande échelle
Podman Desktop inclut des fonctions utiles dans le cadre d'environnements à grande échelle. Il permet de configurer des réseaux virtuels privés (VPN) et des proxies, d'interagir avec divers registres d'images ainsi que de connecter et déployer des clusters à distance à l'aide de Red Hat® OpenShift®.
Utilisation de conteneurs de démarrage
Les conteneurs de démarrage hébergent un système d'exploitation complet. Avec l'extension bootc de Podman Desktop, il est possible de créer des images de conteneurs de démarrage dans des formats courants compatibles avec le matériel bare metal, Amazon Web Services, les machines virtuelles et d'autres ressources.
Ajout de fonctions
Des extensions permettent de compléter les fonctions de Podman Desktop. Certaines facilitent l'intégration de moteurs de conteneurs et d'outils Kubernetes, tandis que d'autres ajoutent des menus, des configurations, des actions ou d'autres capacités.
Il existe notamment deux extensions qui simplifient l'utilisation des grands modèles de langage (LLM) et des plateformes Red Hat, que nous allons voir ci-après.
Podman AI Lab
Avec l'extension Podman AI Lab, Podman Desktop se transforme en environnement d'expérimentation des applications d'intelligence artificielle générative (IA générative).
Podman AI Lab fournit une interface utilisateur graphique pour concevoir, tester et exécuter des LLM dans un environnement local. L'exécution locale de ces modèles peut simplifier l'infrastructure et éliminer le risque de partager des données sensibles en dehors des services d'IA.
Podman AI Lab comprend également un catalogue de recettes pour les cas d'utilisation d'IA générative courants, notamment les chatbots et la génération de code, ainsi qu'une sélection de LLM Open Source à télécharger pour une exécution locale. En outre, l'outil permet de configurer un environnement de test en quelques étapes afin d'essayer différents LLM.
Pack d'extensions Red Hat pour Podman Desktop
Le pack d'extensions Red Hat pour Podman Desktop, disponible gratuitement, permet d'accéder aux plateformes Red Hat. Ces extensions créent un pont entre l'environnement local et l'environnement de production pour faciliter le développement d'applications à déployer sur Red Hat OpenShift.
Extension Red Hat OpenShift Local
Red Hat OpenShift est une plateforme d'applications d'entreprise. Le déploiement de cette extension en local permet de se familiariser avec la configuration et la mise en œuvre d'un cluster Red Hat OpenShift à nœud unique.
Extension Sandbox de développement pour Red Hat OpenShift
Le sandbox de développement pour Red Hat OpenShift offre un environnement Red Hat OpenShift à distance partagé pour la création, le test, l'inspection, le débogage et le déploiement d'applications.
Extension Red Hat SSO
Notre technologie d'authentification unique et unifiée (SSO) facilite la création de comptes Red Hat et la connexion des utilisateurs. L'extension Red Hat SSO permet de s'inscrire au programme Red Hat Developer, d'accéder aux fichiers binaires du mode image de Red Hat Enterprise Linux et bien plus encore.
Extension bootc
Les conteneurs de démarrage sont des images de disque qui hébergent un système d'exploitation complet dans un conteneur. L'extension bootc aide à distinguer les conteneurs de démarrage des conteneurs ordinaires dans Podman Desktop.
Différence entre Podman Desktop et Docker Desktop
L'entreprise Docker et sa communauté d'utilisateurs ont créé et diffusé diverses normes en matière d'applications de conteneurs. Docker fournit une interface utilisateur graphique appelée Docker Desktop, disponible gratuitement pour un nombre limité de cas d'utilisation.
Même si Docker Desktop et Podman Desktop sont tous deux des outils de gestion des conteneurs, il s'agit bien de deux offres distinctes.
À la différence de Docker, Podman présente une architecture sans démon qui permet d'exploiter une fonctionnalité clé de Kubernetes : la possibilité d'aligner les pratiques de développement en local sur les environnements Kubernetes. Dans les architectures sans démon, l'exécution de conteneurs ne requiert pas de privilèges root. Les environnements de conteneurs sont donc plus accessibles, mais également plus sécurisés. Cette même différence majeure se retrouve entre Podman Desktop et Docker Desktop.
Podman Desktop est en grande partie développé et soutenu par Red Hat. Cet outil s'intègre donc facilement à nos autres technologies, telles que Red Hat OpenShift.
Podman est compatible avec Docker. Les conteneurs fonctionnent donc sur les deux plateformes, quelle que soit celle sur laquelle ils ont été créés. Il est aussi possible d'utiliser des extensions Docker Desktop avec Podman Desktop.
Nos solutions
Podman Desktop permet d'apprendre à utiliser les conteneurs et les pods Kubernetes, et d'accéder à d'autres technologies Red Hat compatibles avec les conteneurs, telles que Red Hat Enterprise Linux et Red Hat OpenShift.
La solution Red Hat Enterprise Linux est couramment utilisée pour exécuter des conteneurs Linux en entreprise. Elle permet de mettre rapidement en œuvre des conteneurs, de gérer leur déploiement et d'accélérer le développement des applications. En créant des applications et conteneurs portables sur Red Hat Enterprise Linux pour l'ensemble des environnements de cloud hybride ouvert, les entreprises peuvent préserver leur agilité et poursuivre leur transformation, et ce même lorsque leurs objectifs évoluent.
Red Hat OpenShift est une plateforme fiable, complète et cohérente qui permet de développer, moderniser et déployer des applications à grande échelle. Conçue sur la base de Kubernetes, elle réunit un ensemble de services complet qui facilite la distribution des applications sur l'infrastructure choisie. Avec Red Hat OpenShift, les équipes de développement peuvent créer des applications conteneurisées, les héberger et les déployer dans le cloud tout en bénéficiant du niveau d'évolutivité, de contrôle et d'orchestration nécessaire pour concrétiser rapidement toutes les idées.