- Quadlet est un outil qui permet d’exécuter des conteneurs Podman comme services systemd. C’est utile pour démarrer automatiquement des conteneurs en arrière-plan après le redémarrage d’un serveur.
- Auparavant, on utilisait la commande
podman generate systemd, mais il est désormais recommandé de migrer vers Quadlet.
Méthode existante
- Il fallait créer le conteneur, générer un fichier de service systemd, puis déplacer ce fichier dans le répertoire approprié avant d’activer le service.
- Ce processus était fastidieux, avec des commandes longues et répétitives, et l’inconvénient de devoir modifier les fichiers manuellement.
Problèmes
- L’ancienne méthode était complexe et manquait de flexibilité.
- Comparée à la praticité de Docker Compose, elle demandait beaucoup de travail manuel.
Quadlet
- Avec Quadlet, il est possible de gérer les conteneurs en créant un fichier
.container.
- La section
[Container] permet de configurer l’image, les ports, les volumes et les variables d’environnement.
- La section
[Service] permet de définir la politique de redémarrage du conteneur.
- La section
[Install] permet de configurer le démarrage automatique au boot.
Ce qui est mieux
- Toute la configuration peut être gérée dans un seul fichier, avec accès à toutes les options de systemd.
- Écrire un fichier de configuration est plus simple que rédiger un script.
- Les dépendances peuvent être gérées facilement.
Dépendances
- Si un conteneur applicatif dépend d’un conteneur de base de données, on peut définir les dépendances dans la section
[Unit] avec les options Requires et After.
Trop de fichiers ?
- Répartir la configuration dans plusieurs fichiers peut réduire la complexité.
- Il est possible de regrouper et gérer ensemble les fichiers liés entre eux.
Mise à jour des images
- L’option
AutoUpdate=registry permet de mettre à jour les images et de redémarrer les conteneurs avec la commande podman auto-update.
- L’utilisation du tag
latest peut être risquée ; il est recommandé d’utiliser des tags de version précis.
À propos de podman-compose
podman-compose est un script qui convertit des fichiers Compose pour Podman et systemd, mais il ne constitue pas une bonne solution à long terme.
- Quadlet est mieux aligné avec la conception sans démon de Podman.
Ressources supplémentaires
- Pour mieux comprendre Quadlet, il est recommandé de lire la page de manuel
podman-systemd.unit.
- Quadlet peut gérer non seulement des conteneurs, mais aussi des pods, des réseaux et des volumes.
- Si vous n’êtes pas familier avec l’écriture de fichiers d’unité systemd, consultez aussi les pages de manuel
systemd.unit et systemd.service.
podlet est un outil qui peut aider à générer des fichiers Quadlet à partir de commandes Podman ou de fichiers Compose.
1 commentaires
Avis sur Hacker News
Quadlet est une alternative à Docker Compose, utile pour « exécuter des conteneurs interdépendants dans un environnement proche de la production ». En revanche, c’est moins utile dans un environnement de développement
~/.config/containers/systemd, ce qui complique l’isolation par projetAprès avoir découvert Quadlet, quelqu’un a construit un homelab basé sur Atomic OS et Quadlet en mode rootless, et le recommande vivement
Quadlet est l’un des meilleurs outils issus de Podman, et il est recommandé à toute personne intéressée par les usages basés sur des conteneurs
Beaucoup hésitent à passer de Docker à Podman à cause de la commodité de Docker Compose
Il a été mentionné que Podman-Compose est « non maintenu », mais Podlet est dans un état comparable
Il est gênant que l’upstream de Podman ne fournisse pas de dépôt pour Debian/Ubuntu
Avec openSUSE MicroOS, quelqu’un s’est mis à exécuter des conteneurs Podman sous systemd/quadlet, et est satisfait de sa configuration actuelle
L’intégration entre systemd et Podman est appréciée
Il est intéressant de voir Quadlet arriver en première page de Hacker News
Quadlet permet d’utiliser les conteneurs comme des services système ordinaires