- Quadlet es una herramienta que permite ejecutar contenedores de Podman como servicios de systemd. Esto es útil para iniciar automáticamente los contenedores en segundo plano después de reiniciar el servidor.
- Antes se usaba el comando
podman generate systemd, pero ahora se recomienda migrar a Quadlet.
Método anterior
- Había que crear el contenedor, generar el archivo de servicio de systemd, mover ese archivo al directorio adecuado y luego habilitar el servicio.
- Este proceso tenía comandos largos y repetitivos, y además resultaba incómodo porque había que editar archivos manualmente.
Problemas
- El método anterior era complejo y poco flexible.
- En comparación con la comodidad de Docker Compose, requería hacer mucho trabajo manual.
Quadlet
- Con Quadlet, se puede crear un archivo
.container para gestionar el contenedor.
- Mediante la sección
[Container] se pueden configurar la imagen, los puertos, los volúmenes y las variables de entorno.
- En la sección
[Service] se puede definir la política de reinicio del contenedor.
- En la sección
[Install] se puede configurar el inicio automático al arrancar el sistema.
Qué mejora
- Todo se puede administrar desde un solo archivo, y además se pueden usar todas las opciones de systemd.
- Es más fácil escribir archivos de configuración que scripts.
- Las dependencias se pueden gestionar fácilmente.
Dependencias
- Si un contenedor de aplicación depende de un contenedor de base de datos, se pueden definir dependencias en la sección
[Unit] usando las opciones Requires y After.
¿Demasiados archivos?
- Dividir la configuración en varios archivos puede reducir la complejidad.
- También permite agrupar y administrar mejor los archivos relacionados.
Actualización de imágenes
- Si se usa la opción
AutoUpdate=registry, es posible actualizar imágenes y reiniciar contenedores con el comando podman auto-update.
- Como usar la etiqueta
latest puede ser riesgoso, se recomienda utilizar etiquetas de versión específicas.
Sobre podman-compose
podman-compose es un script que convierte archivos Compose para usarlos con Podman y systemd, pero no es una alternativa adecuada a largo plazo.
- Quadlet encaja mejor con el diseño sin daemon de Podman.
Material adicional
- Para entender Quadlet con mayor profundidad, se recomienda leer la página del manual
podman-systemd.unit.
- Quadlet puede gestionar no solo contenedores, sino también pods, redes y volúmenes.
- Si no estás familiarizado con la creación de archivos unit de systemd, también conviene consultar las páginas del manual
systemd.unit y systemd.service.
podlet es una herramienta que puede ayudar a generar archivos de Quadlet a partir de comandos de Podman o archivos Compose.
1 comentarios
Comentarios de Hacker News
Quadlet es una alternativa a Docker Compose, útil para "ejecutar contenedores interdependientes en un entorno similar a producción". Sin embargo, es menos útil en entornos de desarrollo
~/.config/containers/systemd, es difícil aislarlo del proyectoAl descubrir Quadlet, alguien construyó un homelab basado en Atomic OS y Quadlet rootless, y lo recomienda mucho
Quadlet es una de las mejores herramientas surgidas de Podman y se recomienda a quienes estén interesados en trabajar con contenedores
Muchas personas dudan en cambiar de Docker a Podman por la comodidad de Docker Compose
Se mencionó que Podman-Compose está "sin mantenimiento", pero Podlet está en un estado parecido
Es incómodo que el upstream de Podman no ofrezca repositorios para Debian/Ubuntu
Al usar openSUSE MicroOS, alguien terminó ejecutando contenedores de Podman bajo systemd/quadlet y está satisfecho con la configuración actual
Le gusta la integración entre systemd y Podman
Resulta interesante que Quadlet haya llegado a la portada de Hacker News
Quadlet permite usar contenedores como servicios normales del sistema