Kubernetes Ortamında Velero ile Otomatik Yedekleme

Kubernetes ortamlarında veri sürekliliğini sağlamak için yedekleme kritik bir konudur. Bu yazıda, Velero kullanarak belirli bir namespace’in her gün Türkiye saatiyle saat 16:00‘da otomatik olarak nasıl yedeklendiğini adım adım göstereceğim.

🔧 Kullanılan Araçlar

  • Velero: Kubernetes yedekleme ve geri yükleme aracı
  • MinIO: S3 uyumlu local object storage
  • Helm: Kubernetes için paket yöneticisi
  • Kubernetes Namespace: test
  • TimeZone Desteği: CRON_TZ özelliği (Velero v1.6.0+)

📦 Velero Schedule Yapılandırması

Belirli bir saat diliminde çalışacak bir yedekleme zamanlayıcısı (schedule) oluşturmak için aşağıdaki Velero CRD (Custom Resource Definition) yapılandırmasını kullandım:

apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: zeus-ns-backup-daily
  namespace: velero
spec:
  schedule: "CRON_TZ=Europe/Istanbul 0 16 * * *"  # Her gün saat 16:00'da çalışacak şekilde ayarlandı
  template:
    ttl: 48h0m0s  # Yedekler 2 gün boyunca saklanacak
    includedNamespaces:
      - test

🕓 CRON_TZ ile Yerel Zaman Desteği

Velero’nun CRON_TZ desteği sayesinde cron ifadelerinde artık saat dilimi belirtebiliyoruz. Bu özellik sayesinde UTC çevirisi yapmakla uğraşmadan, doğrudan yerel saatle işlem yapılabiliyor.

Bu örnekte Europe/Istanbul zaman dilimini kullanarak her gün saat 16:00’da zeus namespace’inin yedeği alınması sağlandı.


🧪 Kontrol ve İzleme

Zamanlayıcının çalıştığını şu komutla kontrol edebilirsiniz:

kubectl get schedule -n velero

Zamanlanan yedeklerin detaylarını görmek için ise:

kubectl get backup -n velero

✅ Sonuç

Bu yapılandırmayla birlikte, Kubernetes ortamınızda zeus namespace’i her gün otomatik olarak yedeklenecek ve yedekler 2 gün boyunca saklanacak. CRON_TZ özelliği sayesinde zamanlama artık daha okunabilir ve yönetilebilir hale geliyor.

Aynı kategorideki diğer yazılarımıza göz atın

Bunlar da hoşunuza gidebilir...