- Quadlet एक ऐसा टूल है जो Podman कंटेनरों को systemd सेवा के रूप में चलाने देता है। यह सर्वर रीबूट होने के बाद बैकग्राउंड में कंटेनरों को अपने-आप शुरू करने के लिए उपयोगी है।
- पहले
podman generate systemd कमांड का उपयोग किया जाता था, लेकिन अब Quadlet पर माइग्रेशन की सिफारिश की जाती है।
पुराना तरीका
- कंटेनर बनाना, systemd service file जनरेट करना, फिर उस फ़ाइल को सही डायरेक्टरी में ले जाकर सेवा को enable करना पड़ता था।
- यह प्रक्रिया लंबी, दोहराव वाली थी, और फ़ाइलों को मैन्युअली एडिट करने की असुविधा भी थी।
समस्याएँ
- पुराना तरीका जटिल था और उसमें लचीलापन कम था।
- Docker Compose की सुविधा की तुलना में, इसमें बहुत-सा काम मैन्युअली करना पड़ता था।
Quadlet
- Quadlet का उपयोग करके
.container फ़ाइल बनाकर कंटेनरों को मैनेज किया जा सकता है।
[Container] सेक्शन के जरिए image, port, volume और environment variables सेट किए जा सकते हैं।
[Service] सेक्शन में container restart policy सेट की जा सकती है।
[Install] सेक्शन में boot के समय auto-start सेट किया जा सकता है।
क्या बेहतर है
- एक ही फ़ाइल में सभी सेटिंग्स मैनेज की जा सकती हैं, और systemd के सभी options का उपयोग किया जा सकता है।
- config फ़ाइल लिखना script लिखने से आसान है।
- dependencies को आसानी से मैनेज किया जा सकता है।
Dependencies
- अगर app container किसी database container पर निर्भर हो, तो
[Unit] सेक्शन में Requires और After options का उपयोग करके dependency सेट की जा सकती है।
क्या फ़ाइलें बहुत ज़्यादा हो जाएँगी?
- कई फ़ाइलों में बाँटना जटिलता को कम कर सकता है।
- संबंधित फ़ाइलों को समूह में रखकर मैनेज किया जा सकता है।
Image update
AutoUpdate=registry option का उपयोग करने पर podman auto-update कमांड से image update और container restart किया जा सकता है।
latest tag का उपयोग जोखिम भरा हो सकता है, इसलिए किसी specific version tag का उपयोग करने की सिफारिश की जाती है।
podman-compose के बारे में
podman-compose एक script है जो Compose फ़ाइलों को Podman और systemd में बदलता है, लेकिन यह लंबे समय के विकल्प के रूप में उपयुक्त नहीं है।
- Quadlet, Podman के daemonless design के साथ अधिक अच्छी तरह मेल खाता है।
अतिरिक्त सामग्री
- Quadlet को गहराई से समझने के लिए
podman-systemd.unit manual page पढ़ने की सिफारिश की जाती है।
- Quadlet केवल कंटेनरों ही नहीं, बल्कि pod, network और volume को भी मैनेज कर सकता है।
- अगर आप systemd unit file लिखने के अभ्यस्त नहीं हैं, तो
systemd.unit और systemd.service manual pages भी देखें।
podlet एक ऐसा टूल है जो Podman कमांड या Compose फ़ाइलों से Quadlet फ़ाइलें बनाने में मदद कर सकता है।
1 टिप्पणियां
Hacker News राय
Quadlet, Docker Compose का एक विकल्प है, और "प्रोडक्शन जैसे वातावरण में आपस में निर्भर containers चलाने" के लिए उपयोगी है। लेकिन development environment में यह कम उपयोगी है
~/.config/containers/systemdमें रखना पड़ता है, इसलिए project से isolation कठिन हो जाता हैQuadlet खोजने के बाद Atomic OS और rootless Quadlet के आधार पर एक homelab बनाया, और इसकी जोरदार सिफारिश करते हैं
Quadlet, Podman से निकले सबसे बेहतरीन tools में से एक है, और container-आधारित काम में रुचि रखने वालों को इसकी सिफारिश की जाती है
Docker Compose की सुविधा के कारण बहुत से लोग Docker से Podman पर जाने में हिचकिचाते हैं
Podman-Compose को "maintained नहीं है" कहा गया, लेकिन Podlet की स्थिति भी कुछ ऐसी ही है
Podman upstream के Debian/Ubuntu के लिए repository न देने से असुविधा होती है
openSUSE MicroOS का उपयोग करके Podman containers को systemd/quadlet के तहत चलाना शुरू किया, और मौजूदा setup से संतुष्ट हैं
systemd और Podman का integration पसंद है
यह दिलचस्प है कि Quadlet Hacker News के पहले पेज पर आ गया
Quadlet, containers को सामान्य system service की तरह उपयोग करने देता है