2 पॉइंट द्वारा GN⁺ 2025-03-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2025-03-25
Hacker News राय
  • Quadlet, Docker Compose का एक विकल्प है, और "प्रोडक्शन जैसे वातावरण में आपस में निर्भर containers चलाने" के लिए उपयोगी है। लेकिन development environment में यह कम उपयोगी है

    • Docker Compose से database, Redis, OpenSearch जैसी dependencies को आसानी से manage किया जा सकता है
    • Quadlet में files को ~/.config/containers/systemd में रखना पड़ता है, इसलिए project से isolation कठिन हो जाता है
    • बहुत से developers अब भी Docker का उपयोग करते हैं, और Podman उपयोग करने के लिए manually setup जोड़ना पड़ता है
    • development के लिए Docker Compose का एक विकल्प चाहिए, लेकिन Quadlet इसके लिए उपयुक्त नहीं है
  • Quadlet खोजने के बाद Atomic OS और rootless Quadlet के आधार पर एक homelab बनाया, और इसकी जोरदार सिफारिश करते हैं

    • systemd socket activation का उपयोग किया जा सकता है, इसलिए Traefik को अपने-आप activate किया जा सकता है
    • rootless setup में source IP को preserve करने का यही एकमात्र तरीका है
  • Quadlet, Podman से निकले सबसे बेहतरीन tools में से एक है, और container-आधारित काम में रुचि रखने वालों को इसकी सिफारिश की जाती है

    • containers को system service की तरह handle किया जा सकता है, इसलिए यह सुविधाजनक है
    • Docker के विकल्प के रूप में Quadlet उपयोग करने पर setup और साफ-सुथरा हो सकता है
    • local development environment में यह Docker Compose का विकल्प नहीं है, और Podman team की भी इसमें खास रुचि नहीं है
  • Docker Compose की सुविधा के कारण बहुत से लोग Docker से Podman पर जाने में हिचकिचाते हैं

    • Quadlet, Docker Compose के विकल्प के रूप में Podman का उपयोग संभव बनाता है
    • Docker की कमी महसूस नहीं होगी, और rootless container execution की security का लाभ मिलेगा
  • Podman-Compose को "maintained नहीं है" कहा गया, लेकिन Podlet की स्थिति भी कुछ ऐसी ही है

    • Podlet, Docker Compose की कई सुविधाओं को support नहीं करता, और कई yaml files को stack करने का support भी नहीं देता
  • Podman upstream के Debian/Ubuntu के लिए repository न देने से असुविधा होती है

    • इसी कारण फिर Docker Compose पर लौटना पड़ा
  • openSUSE MicroOS का उपयोग करके Podman containers को systemd/quadlet के तहत चलाना शुरू किया, और मौजूदा setup से संतुष्ट हैं

    • Podman Compose का उपयोग असुविधाजनक था, और Quadlet बेहतर विकल्प है
  • systemd और Podman का integration पसंद है

    • Docker Compose अब भी प्रतिस्पर्धी है, और Quadlet project directory को जटिल बना सकता है
  • यह दिलचस्प है कि Quadlet Hacker News के पहले पेज पर आ गया

    • Kubernetes YAML का उपयोग करके portability अधिक है
  • Quadlet, containers को सामान्य system service की तरह उपयोग करने देता है

    • rootless containers का UX इस अवधारणा के साथ अच्छी तरह मेल नहीं खाता
    • चाहते हैं कि rootless Quadlet को system session के भीतर चलाया जा सके