Resumen
Se trata de una herramienta open source gratuita que simplifica el uso de aplicaciones de software basadas en contenedores en un entorno de desarrollo local. Gracias a ella, los desarrolladores pueden gestionar los contenedores a través de una interfaz gráfica de usuario (GUI) en sus entornos locales de Windows, macOS o Linux®.
Se asocia con el proyecto Podman, que es una herramienta para la gestión de contenedores. Red Hat es el principal colaborador de los proyectos open source Podman y Podman Desktop.
Ventajas del uso de los contenedores y Kubernetes
Las ventajas que ofrece Podman Desktop están relacionadas con las que ofrece el uso de contenedores. Estos empaquetan todos los archivos que necesita una aplicación para ejecutarse en una imagen que se puede implementar en distintos entornos informáticos de manera sencilla y uniforme. Las aplicaciones organizadas en contenedores son independientes entre sí, es decir, los problemas que afecten a una de ellas no incidirán en las demás. Además, es posible detener y reiniciar un contenedor sin necesidad de interrumpir el funcionamiento de los demás o de otros servicios.
Un enfoque de este tipo es ideal para el desarrollo en la nube híbrida. Puedes diseñar y probar una aplicación y confiar en que funcione del mismo modo en los entornos de desarrollo, prueba y producción, ya sean en las instalaciones, en la nube o multicloud.
Imaginemos que utilizamos servicios en contenedores para dar soporte a un caso práctico de una empresa de gran envergadura. Se necesitarían muchos contenedores diferentes que funcionen de manera coordinada y se basen en un conjunto compartido de recursos informáticos. Aquí es donde interviene Kubernetes, una plataforma open source para la organización en contenedores que permite gestionar grandes volúmenes en toda la empresa. Los equipos de software que utilizan Kubernetes para el desarrollo en contenedores pueden dar soporte a proyectos de gran magnitud sin renunciar a la velocidad de iteración y la capacidad de ajuste. Asimismo, pueden establecer controles de seguridad como parte de un canal de integración y distribución continuas (CI/CD).
Aunque parezca una gran idea, para aprovechar las ventajas que ofrecen los contenedores es necesario que los equipos de aplicaciones diseñen y creen software para Kubernetes de antemano. Sin embargo, muchos de ellos no tienen suficiente experiencia con Kubernetes. Por eso, Podman Desktop ofrece a los desarrolladores la posibilidad de familiarizarse con el uso de contenedores y ampliar sus conocimientos sobre dicha plataforma a través de la experiencia práctica. Además, permite gestionar el desarrollo local permanente de aplicaciones en contenedores.
Con la herramienta, podrás desarrollar aplicaciones en tu entorno local, sin que se vean afectados los recursos externos ni tengas que depender del equipo de operaciones para preparar la infraestructura.
Antes de profundizar en los detalles de Podman Desktop, demos un vistazo al proyecto Podman y sus logros.
Recursos de Red Hat
¿Qué es Podman?
Podman (abreviatura de administrador de pods) es un proyecto open source para el uso de contenedores y la base de Podman Desktop. Gracias a que Podman admite contenedores sin privilegios de superusuario de forma predeterminada, mejora la seguridad al reducir la necesidad de tener estos privilegios y el riesgo de que aparezcan puntos vulnerables en el sistema.
Para ello, agrupa los contenedores en pods, que se ejecutan juntos y comparten los mismos recursos, de manera similar a los pods de Kubernetes. Podman los gestiona a través de una interfaz de línea de comandos (CLI) y la biblioteca libpod, la cual ofrece unas interfaces de programación de aplicaciones (API) para administrar los contenedores, sus imágenes, los pods y los volúmenes.
De forma predeterminada, la herramienta crea y admite contenedores que cumplen con la Open Container Initiative (OCI) y, por ende, con los estándares del sector sobre los tiempos de ejecución y los formatos. También ejecuta imágenes con formato Docker. Es una alternativa a Docker que tiene todas las mismas funciones, o puede servir como su complemento, ya que ambas son compatibles.
Funciones de Podman Desktop
Con la GUI de Podman Desktop, puedes diseñar, ejecutar, gestionar y depurar los contenedores y los pods de manera local en la estación de trabajo o en la computadora portátil. También puedes ejecutar los pods con o sin Kubernetes y gestionar varios motores de contenedores.
Uso de contenedores
Podman Desktop permite extraer imágenes de contenedores de cualquier registro y luego ofrece una vista unificada de tus contenedores con controles rápidos para ponerlos en marcha, detenerlos, eliminarlos, reiniciarlos, exportarlos e implementarlos. Puedes:
- Consultar los registros y obtener acceso al shell de un contenedor en ejecución sin salir de la interfaz de Podman Desktop
- Diseñar tus propias imágenes de contenedores y enviarlas a cualquier registro
- Agrupar los contenedores en pods para la aplicación y visualizar los registros unificados de tus pods
Uso de Kubernetes
El uso de Podman Desktop es una excelente oportunidad para familiarizarse con los conceptos de Kubernetes, como la arquitectura sin daemons y los pods, y luego ponerlos en práctica. Puedes:
- Preparar las aplicaciones para implementar Kubernetes con indicaciones en formato YAML
- Probar los archivos YAML de Kubernetes de forma local antes de implementarlos en un clúster
- Iniciar un clúster local de Kubernetes y probar las aplicaciones
- Introducir las aplicaciones en el proceso de implementación
Habilitación de las funciones empresariales
Podman Desktop incluye funciones que resultan útiles cuando se trabaja en entornos empresariales de gran tamaño. Por ejemplo, puedes configurar las redes privadas virtuales (VPN) y los proxies, interactuar con varios registros de imágenes y conectarte a clústeres remotos e implementarlos a través de Red Hat® OpenShift®.
Uso de contenedores de arranque
Los contenedores de arranque incorporan un sistema operativo completo dentro de un contenedor. Con la extensión bootc de Podman Desktop, puedes crear imágenes de contenedor de arranque en formatos comunes para hardware de servidores dedicados (bare metal), Amazon Web Services, máquinas virtuales y mucho más.
Más funciones con las extensiones de Podman Desktop
Puedes agregar nuevas funciones a la herramienta con las extensiones. En algunos casos, estas agregan integraciones con proveedores de motores de contenedores y proveedores de Kubernetes, o bien habilitan acciones, opciones de menú, configuraciones y otras ventajas.
A continuación, examinaremos dos paquetes de extensiones que simplifican el trabajo con los modelos de lenguaje de gran tamaño (LLM) y las plataformas Red Hat.
¿Qué es Podman AI Lab?
Con el paquete de extensión Podman AI Lab, Podman Desktop puede convertirse en un punto de partida para entrar en el ámbito de las aplicaciones con inteligencia artificial generativa.
Este paquete proporciona una GUI para diseñar, probar y ejecutar las aplicaciones que utilizan modelos de lenguaje de gran tamaño (LLM) en un entorno local. De este modo, puedes simplificar la arquitectura y eliminar los riesgos que conlleva compartir datos confidenciales con servicios de inteligencia artificial externos.
Podman AI Lab incluye un catálogo con recomendaciones para casos prácticos comunes de inteligencia artificial generativa, como chatbots y generación de código. Puedes elegir entre una selección de LLM con licencia open source para descargarlos y ejecutarlos de forma local. También puedes configurar un entorno de pruebas en tan solo unos pasos para evaluar los diferentes modelos.
¿Qué es el paquete de extensión de Red Hat para Podman Desktop?
El paquete de extensión de Red Hat para Podman Desktop es una vía de acceso para comenzar a utilizar las plataformas de Red Hat. Si estás desarrollando una aplicación para implementarla en Red Hat OpenShift, estas extensiones gratuitas te ayudarán a conectar tus entornos locales y de producción.
Extensión Red Hat OpenShift Local
Red Hat OpenShift es una plataforma de aplicaciones empresariales. Comienza a utilizarla en tu entorno local, y aprende a configurar y establecer un clúster de un solo nodo con esta extensión.
Extensión Developer Sandbox for Red Hat OpenShift
Developer Sandbox for Red Hat OpenShift facilita el uso de un entorno remoto compartido de la plataforma para diseñar, probar, examinar, depurar e implementar las aplicaciones.
Extensión SSO de Red Hat
La tecnología de Single Sign-On (SSO) de Red Hat simplifica la creación y el inicio de sesión en una cuenta de la empresa. Con esta extensión, puedes registrarte en el programa Red Hat Developer, acceder a los archivos binarios del modo de imagen de Red Hat Enterprise Linux y mucho más.
Extensión bootc
Los contenedores de arranque son imágenes de disco que integran el sistema operativo directamente dentro de un contenedor. Con la extensión bootc, puedes diferenciar entre los contenedores de arranque y los convencionales en Podman Desktop.
Diferencias entre Podman Desktop y Docker Desktop
La empresa Docker y su comunidad de usuarios crearon y popularizaron el estándar del sector para las aplicaciones en contenedores. Docker ofrece una GUI denominada Docker Desktop que se encuentra disponible de manera gratuita para casos prácticos concretos.
Aunque ambas son herramientas GUI para gestionar contenedores, presentan características distintas.
En cuanto a la arquitectura, la diferencia más importante entre Podman y Docker radica en que Podman es un entorno sin daemons, lo cual incorpora una característica fundamental de Kubernetes: contribuye a adaptar las prácticas de desarrollo locales a los entornos basados en Kubernetes. Este tipo de arquitectura no requiere un proceso con privilegios de superusuario para ejecutar contenedores, por lo que facilita el acceso al entorno de contenedores y reduce los riesgos relacionados con la seguridad. Las versiones de escritorio de Podman y Docker mantienen esta distinción.
Podman Desktop cuenta con el patrocinio de Red Hat y su desarrollo se debe principalmente a esta empresa, de modo que se integra sin problemas con otras de nuestras tecnologías, como Red Hat OpenShift.
Es compatible con Docker, por lo que los contenedores que crees en una de las plataformas funcionarán en la otra. Además, puedes ejecutar extensiones de Docker Desktop en Podman Desktop.
El aporte de Red Hat
Con Podman Desktop, no solo adquirirás más experiencia en el uso de contenedores y pods de Kubernetes, sino que también podrás acceder a otras soluciones de Red Hat compatibles con esta tecnología, como Red Hat Enterprise Linux y Red Hat OpenShift.
Red Hat Enterprise Linux es un estándar para ejecutar los contenedores de Linux en los entornos empresariales y permite que los desarrolladores los pongan en marcha fácilmente, gestionen su implementación y agilicen el desarrollo de las aplicaciones nuevas. Las aplicaciones portátiles y los contenedores basados en este sistema operativo en los entornos de nube híbrida abierta permiten que tu empresa mantenga la agilidad y siga transformándose a medida que los objetivos cambien.
Red Hat OpenShift es una plataforma confiable, integral y uniforme para desarrollar, modernizar e implementar aplicaciones según sea necesario. Se basa en Kubernetes y ofrece un conjunto completo de servicios que permiten comercializar las aplicaciones en la infraestructura que elijas. Además, los desarrolladores pueden crear sus propias aplicaciones en contenedores, alojarlas e implementarlas en la nube con la capacidad de ajuste, el control y la organización que necesitan para convertir una idea brillante en un negocio nuevo, en poco tiempo y sin complicaciones.
Blogs de Red Hat
Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.