Kubernetes Yedekleme Çözümü: Velero Kurulumu (MinIO ile)

Kubernetes üzerinde çalışan uygulamalarınızın yedeklenmesi ve gerektiğinde geri yüklenmesi için Velero güçlü ve açık kaynaklı bir araçtır. Bu yazıda, Helm chart kullanarak MinIO destekli bir Velero kurulumunu adım adım nasıl gerçekleştirdiğimi anlatacağım.


Neden Velero?

Velero; yedekleme, geri yükleme ve felaket kurtarma senaryoları için ideal bir çözümdür. Özellikle bulut sağlayıcılarından bağımsız çalışabilmesi ve MinIO gibi S3 uyumlu sistemlerle entegre olabilmesi büyük avantaj sağlar.

Ön Koşullar

  • Kubernetes cluster’ınız çalışır durumda olmalı
  • Helm kurulu olmalı
  • MinIO servisiniz erişilebilir durumda olmalı
  • AWS tipi erişim anahtarları hazır olmalı

Velero’yu Helm ile Kurmak

İlk olarak, Helm kullanarak Velero’yu kurmak için aşağıdaki komutu kullandım:

helm upgrade velero vmware-tanzu/velero \
  --install \
  --create-namespace \
  --namespace velero \
  -f velero-values.yaml

velero-values.yaml İçeriği

Kurulumda kullanılan değer dosyası aşağıdaki gibidir:

initContainers:
  - name: velero-plugin-for-aws
    image: velero/velero-plugin-for-aws:v1.10.1
    imagePullPolicy: IfNotPresent
    volumeMounts:
      - mountPath: /target
        name: plugins

configuration:
  defaultVolumesToFsBackup: true
  backupStorageLocation:
  - name: minio
    provider: aws
    bucket: velero
    accessMode: ReadWrite
    default: true
    config:
      s3ForcePathStyle: true
      s3Url: http://minio.svc:30293
      publicUrl: http://minio.svc:30293
  volumeSnapshotLocation:
  - name: minio
    provider: aws

credentials:
  useSecret: true
  secretContents:
    cloud: |
      [default]
      aws_access_key_id = [aws_access_key_id]
      aws_secret_access_key = [aws_secret_access_key]

deployNodeAgent: true

Açıklamalar

  • initContainers: AWS plugin’i eklentisini yüklüyoruz.
  • backupStorageLocation: MinIO’yu S3 uyumlu bir yedekleme hedefi olarak tanımlıyoruz.
  • credentials: MinIO için gerekli erişim bilgileri buradan sağlanıyor.
  • deployNodeAgent: Bu seçenek ile yedekleme işlemleri için gerekli ajan her node’a deploy ediliyor.

Sonuç

Bu kurulum ile birlikte, Kubernetes ortamımda çalışan uygulamaların yedeklerini güvenle MinIO’ya alabiliyorum. Geri yükleme işlemleri de Velero CLI veya CRD’ler üzerinden oldukça kolay bir şekilde yapılabiliyor.

Eğer siz de bulut sağlayıcısına bağlı kalmadan bir yedekleme çözümü arıyorsanız, MinIO destekli Velero kurulumunu mutlaka denemelisiniz.

Bunlar da hoşunuza gidebilir...