- 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
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ı
~/.config/containers/systemdiçine koymak gerektiği için projeden yalıtım zorlaşıyorQuadlet'i keşfedip Atomic OS ve rootless Quadlet tabanlı bir homelab kurdum; güçlü biçimde tavsiye ediyorum
Quadlet, Podman ekosisteminden çıkan en iyi araçlardan biri ve container tabanlı işlerle ilgilenenlere tavsiye ediliyor
Docker Compose'un sunduğu kolaylık nedeniyle birçok kişi Docker'dan Podman'a geçmekte tereddüt ediyor
Podman-Compose için "bakımı yapılmıyor" denmişti, ancak Podlet de benzer durumda
Podman'ın upstream tarafı Debian/Ubuntu için depo sağlamadığı için bu durum rahatsız edici
openSUSE MicroOS kullanarak Podman container'larını systemd/quadlet altında çalıştırmaya başladım ve mevcut kurulumdan memnunum
systemd ile Podman entegrasyonunu beğeniyorum
Quadlet'in Hacker News ana sayfasına çıkması ilginç
Quadlet, container'ların normal sistem servisleri gibi kullanılmasını sağlıyor