Menjadwalkan pencadangan di Cloud Storage

Halaman ini menjelaskan cara menjadwalkan pencadangan untuk Cassandra di Cloud Storage. Dalam metode ini, cadangan disimpan di bucket Cloud Storage yang ditentukan.

Untuk menjadwalkan pencadangan Cassandra, lakukan langkah-langkah berikut:

  1. Jalankan perintah create-service-account berikut untuk membuat akun layanan (SA) Google Cloud dengan peran roles/storage.objectAdmin standar. Peran SA ini memungkinkan Anda menulis data cadangan ke Cloud Storage. Jalankan perintah di direktori $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/.
    ./tools/create-service-account --env non-prod --dir ./

    Perintah ini membuat satu akun layanan bernama apigee-non-prod untuk digunakan di lingkungan non-produksi dan menempatkan file kunci yang didownload di direktori ./.

    Untuk mengetahui informasi selengkapnya tentang akun layanan Google Cloud, lihat Membuat dan mengelola akun layanan.

  2. Perintah create-service-account menyimpan file JSON yang berisi kunci pribadi akun layanan. File disimpan di direktori yang sama tempat perintah dijalankan. Anda akan memerlukan jalur ke file ini dalam langkah-langkah berikut.
  3. Buat bucket Cloud Storage. Tentukan kebijakan retensi data yang wajar untuk bucket. Apigee merekomendasikan kebijakan retensi data selama 15 hari.
  4. Buka file overrides.yaml.
  5. Tambahkan properti cassandra.backup berikut untuk mengaktifkan pencadangan. Jangan menghapus properti yang sudah dikonfigurasi.

    Parameter

    cassandra:
        ...
    
        backup:
          enabled: true
          serviceAccountPath: SA_JSON_FILE_PATH
          dbStorageBucket: CLOUD_STORAGE_BUCKET_NAME
          schedule: BACKUP_SCHEDULE_CODE
          cloudProvider: "GCP"  # For remote server backup set this to HYBRID (all caps)
    
        ...
        

    Contoh

      ...
    
      cassandra:
        storage:
          type: gcepd
          capacity: 50Gi
          gcepd:
            replicationType: regional-pd
        auth:
          default:
            password: "abc123"
          admin:
            password: "abc234"
          ddl:
            password: "abc345"
          dml:
            password: "abc456"
        nodeSelector:
          key: cloud.google.com/gke-nodepool
          value: apigee-data
        backup:
          enabled: true
          serviceAccountPath: "my-cassandra-backup-sa.json"
          dbStorageBucket: "myname-cassandra-backup"
          schedule: "45 23 * * 6"
          cloudProvider: "GCP"
          
    
    
        ... 
  6. Dengan keterangan:
    Properti Deskripsi
    backup:enabled Pencadangan dinonaktifkan secara default. Anda harus menetapkan properti ini ke true.
    backup:serviceAccountPath

    SA_JSON_FILE_PATH

    Jalur di sistem file Anda ke file JSON akun layanan yang didownload saat Anda menjalankan perintah create-service-account.

    Jalur harus relatif terhadap direktori diagram apigee-datastore. Misalnya, serviceAccountPath: myproject-apigee-cassandra.json.

    backup:dbStorageBucket

    CLOUD_STORAGE_BUCKET_NAME

    Nama bucket Google Cloud Storage yang ada yang akan digunakan untuk menyimpan arsip cadangan. Lihat Membuat bucket jika Anda perlu membuatnya.

    backup:cloudProvider

    GCP/HYBRID

    Untuk pencadangan Cloud Storage, tetapkan properti ke GCP. Misalnya, cloudProvider: "GCP".

    Untuk pencadangan server jarak jauh, tetapkan properti ke HYBRID. Misalnya, cloudProvider: "HYBRID".

    backup:schedule

    BACKUP_SCHEDULE_CODE

    Waktu saat pencadangan dimulai, yang ditentukan dalam sintaksis crontab standar. Default: 0 2 * * *

  7. Terapkan perubahan konfigurasi ke cluster baru. Contoh:
    helm upgrade datastore apigee-datastore/ \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE.yaml
    

    Dengan OVERRIDES_FILE adalah jalur ke file penggantian yang baru saja Anda edit.

  8. Verifikasi tugas pencadangan. Contoh:
    kubectl get cronjob -n APIGEE_NAMESPACE
      NAME                      SCHEDULE     SUSPEND   ACTIVE   LAST SCHEDULE   AGE
      apigee-cassandra-backup   33 * * * *   False     0        <none>          94s

Meluncurkan pencadangan manual

Cadangan Cassandra dibuat secara otomatis sesuai jadwal cron yang ditetapkan dalam file overrides.yaml.

Untuk memulai pencadangan manual, gunakan perintah ini:

kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME