2 puan yazan GN⁺ 2025-03-25 | 1 yorum | WhatsApp'ta paylaş
  • Quadlet, Podman konteynerlerini systemd hizmetleri olarak çalıştırmayı sağlayan bir araçtır. Bu, sunucu yeniden başlatıldıktan sonra konteynerleri arka planda otomatik olarak başlatmak için kullanışlıdır.
  • Daha önce podman generate systemd komutu kullanılıyordu, ancak artık Quadlet'e geçiş öneriliyor.

Önceki yöntem

  • Konteyner oluşturmak, ardından bir systemd hizmet dosyası üretmek, sonra da bu dosyayı uygun dizine taşıyıp hizmeti etkinleştirmek gerekiyordu.
  • Bu süreçte komutlar uzun ve tekrarlıydı; ayrıca dosyaları elle düzenlemek gibi zahmetler vardı.

Sorunlar

  • Önceki yöntem karmaşıktı ve esnekliği sınırlıydı.
  • Docker Compose'un sunduğu kolaylıkla kıyaslandığında, elle yapılması gereken çok iş vardı.

Quadlet

  • Quadlet ile .container dosyaları oluşturarak konteynerleri yönetebilirsiniz.
  • [Container] bölümünde imaj, port, volume ve ortam değişkenleri ayarlanabilir.
  • [Service] bölümünde konteyner yeniden başlatma politikası tanımlanabilir.
  • [Install] bölümünde açılışta otomatik başlatma ayarlanabilir.

Neden daha iyi?

  • Tüm yapılandırma tek bir dosyada yönetilebilir ve systemd'nin tüm seçenekleri kullanılabilir.
  • Yapılandırma dosyası yazmak, betik yazmaktan daha kolaydır.
  • Bağımlılıklar kolayca yönetilebilir.

Bağımlılıklar

  • Uygulama konteyneri bir veritabanı konteynerine bağımlıysa, [Unit] bölümündeki Requires ve After seçenekleriyle bu bağımlılık tanımlanabilir.

Çok fazla dosya mı olur?

  • Yapılandırmayı birden fazla dosyaya bölmek, karmaşıklığı azaltabilir.
  • İlgili dosyalar gruplanarak yönetilebilir.

İmaj güncellemeleri

  • AutoUpdate=registry seçeneği kullanılırsa, podman auto-update komutuyla imaj güncellemesi yapılıp konteyner yeniden başlatılabilir.
  • latest etiketini kullanmak riskli olabilir; bu nedenle belirli sürüm etiketleri tercih edilmelidir.

podman-compose hakkında

  • podman-compose, Compose dosyalarını Podman ve systemd'ye dönüştüren bir betiktir; ancak uzun vadeli bir çözüm olarak pek uygun değildir.
  • Quadlet, Podman'ın daemon'suz tasarımıyla daha iyi uyum sağlar.

Ek kaynaklar

  • Quadlet'i daha derinlemesine anlamak için podman-systemd.unit kılavuz sayfasını okumak önerilir.
  • Quadlet yalnızca konteynerleri değil; pod, ağ ve volume'leri de yönetebilir.
  • systemd unit dosyaları yazmaya alışkın değilseniz, systemd.unit ve systemd.service kılavuz sayfalarına da bakın.
  • podlet, Podman komutlarından veya Compose dosyalarından Quadlet dosyaları üretmeye yardımcı olabilecek bir araçtır.

1 yorum

 
GN⁺ 2025-03-25
Hacker News görüşleri
  • Quadlet, Docker Compose'a bir alternatif olarak, "birbirine bağımlı container'ları üretime benzer bir ortamda çalıştırmak" için kullanışlı. Ancak geliştirme ortamında daha az kullanışlı

    • Docker Compose, veritabanı, Redis, OpenSearch gibi bağımlılıkları kolayca yönetebiliyor
    • Quadlet'te dosyaları ~/.config/containers/systemd içine koymak gerektiği için projeden yalıtım zorlaşıyor
    • Birçok geliştirici hâlâ Docker kullanıyor ve Podman kullanmak için ayarlara elle ekleme yapmak gerekiyor
    • Geliştirme için Docker Compose'a bir alternatif gerekiyor, ancak Quadlet buna uygun değil
  • Quadlet'i keşfedip Atomic OS ve rootless Quadlet tabanlı bir homelab kurdum; güçlü biçimde tavsiye ediyorum

    • systemd socket activation kullanılabildiği için Traefik otomatik olarak etkinleştirilebiliyor
    • Rootless kurulumda kaynak IP'yi korumanın tek yolu bu
  • Quadlet, Podman ekosisteminden çıkan en iyi araçlardan biri ve container tabanlı işlerle ilgilenenlere tavsiye ediliyor

    • Container'ları sistem servisi gibi ele alabilmek kullanışlı
    • Docker'a alternatif olarak Quadlet kullanıldığında daha temiz bir yapılandırma mümkün
    • Yerel geliştirme ortamında Docker Compose'un alternatifi değil ve Podman ekibinin de buna büyük ilgisi yok
  • Docker Compose'un sunduğu kolaylık nedeniyle birçok kişi Docker'dan Podman'a geçmekte tereddüt ediyor

    • Quadlet, Docker Compose'a alternatif olarak Podman kullanılmasını mümkün kılıyor
    • Docker'ı özlemeyeceksiniz ve rootless container çalıştırmanın güvenliğinden yararlanabileceksiniz
  • Podman-Compose için "bakımı yapılmıyor" denmişti, ancak Podlet de benzer durumda

    • Podlet, Docker Compose'un birçok özelliğini desteklemiyor ve birden fazla yaml dosyasını katmanlamayı desteklemiyor
  • Podman'ın upstream tarafı Debian/Ubuntu için depo sağlamadığı için bu durum rahatsız edici

    • Bu yüzden yeniden Docker Compose'a dönüldü
  • openSUSE MicroOS kullanarak Podman container'larını systemd/quadlet altında çalıştırmaya başladım ve mevcut kurulumdan memnunum

    • Podman Compose kullanışsızdı, Quadlet daha iyi bir tercih
  • systemd ile Podman entegrasyonunu beğeniyorum

    • Docker Compose hâlâ rekabetçi ve Quadlet proje dizinini karmaşıklaştırabiliyor
  • Quadlet'in Hacker News ana sayfasına çıkması ilginç

    • Kubernetes YAML kullanarak taşınabilirlik yüksek oluyor
  • Quadlet, container'ların normal sistem servisleri gibi kullanılmasını sağlıyor

    • Rootless container UX'i bu kavramla pek uyuşmuyor
    • Rootless Quadlet'in sistem oturumu içinde çalıştırılabilmesini isterdim