Halaman ini menjelaskan cara memulihkan Cassandra di satu region.
Dalam deployment region tunggal, Apigee hybrid di-deploy di satu pusat data atau region. Jika Anda memiliki beberapa organisasi Apigee dalam deployment, proses pemulihan akan memulihkan data untuk semua organisasi. Dalam penyiapan multi-organisasi, Anda tidak dapat memulihkan organisasi tertentu.
Memulihkan region dari cadangan
Dalam konfigurasi Anda, cadangan Cassandra dapat berada di Cloud Storage atau di server jarak jauh. Dalam kedua kasus tersebut, lakukan langkah-langkah berikut untuk memulihkan:
- Verifikasi versi campuran.
Pastikan versinya sama dengan versi yang membuat file cadangan di penyimpanan.apigeectl version
- Pastikan cluster Kubernetes tempat Anda melakukan pemulihan tidak memiliki penginstalan hibrida Apigee sebelumnya. Jika
Anda memulihkan ke cluster yang ada, gunakan perintah berikut untuk menghapus penginstalan hibrida
Apigee yang ada:
apigeectl delete -f overrides.yamlkubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.apigeectl delete --all -f overrides.yaml - Buka file
overrides.yamldan tetapkan propertirestoreke nilai yang diinginkan:Cloud Storage
Parameter
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) schedule: "SCHEDULE"
Contoh
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" snapshotTimestamp: "20201001183903" ... backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" schedule: "0 2 * * *" ...
Dengan keterangan:
Properti Deskripsi namespaceYOUR_RESTORE_NAMESPACE
Namespace untuk pemulihan. Gunakan namespace seperti di cluster asli Anda.
cassandra:hostNetworkhostNetworkdiperlukan dan harus selalu ditetapkan kefalse.restore:enabledPemulihan dinonaktifkan secara default. Anda harus menetapkan properti ini ke true.restore:serviceAccountPathSA_JSON_FILE_PATH
Jalur di sistem file Anda ke akun layanan yang Anda buat untuk pencadangan.
restore:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Jalur bucket Cloud Storage tempat data cadangan Anda disimpan dalam format berikut:
gs://BUCKET_NAME.gs://wajib diisi.restore:cloudProviderGCPProperti
cloudProvider: "GCP"wajib diisi.restore:snapshotTimestampTIMESTAMP
Stempel waktu snapshot cadangan yang akan dipulihkan. Untuk memeriksa stempel waktu yang dapat digunakan, buka
dbStorageBucketdan lihat file yang ada di bucket. Setiap nama file berisi nilai stempel waktu. Misalnya,backup_20210203213003_apigee-cassandra-default-0.tgzDengan 20210203213003 adalah nilai
snapshotTimestampyang akan Anda gunakan jika ingin memulihkan cadangan yang dibuat pada waktu tersebut.backup:enabledPencadangan dinonaktifkan secara default. Anda harus menetapkan properti ini ke true.backup:serviceAccountPathSA_JSON_FILE_PATH
Jalur di sistem file Anda ke file JSON akun layanan yang didownload saat Anda menjalankan
./tools/create-service-accountbackup:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Jalur bucket Cloud Storage dalam format ini:
gs://BUCKET_NAME.gs://wajib diisi.backup:cloudProviderGCPProperti
cloudProvider: "GCP"wajib diisi.backup:scheduleSCHEDULE
Waktu saat pencadangan dimulai, yang ditentukan dalam sintaksis crontab standar. Default:
0 2 * * *Penyimpanan Non-Cloud
Parameter
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) schedule: "SCHEDULE"
Contoh
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" snapshotTimestamp: "20201001183903" ... backup: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" schedule: "0 2 * * *" ...
Dengan keterangan:
Properti Deskripsi namespaceYOUR_RESTORE_NAMESPACE
Namespace untuk pemulihan. Gunakan namespace seperti di cluster asli Anda.
cassandra:hostNetworkhostNetworkdiperlukan dan harus selalu ditetapkan kefalse.restore:enabledPemulihan dinonaktifkan secara default. Anda harus menetapkan properti ini ke true.restore:keyFilePATH_TO_PRIVATE_KEY_FILE
Jalur di sistem file lokal Anda ke file kunci pribadi SSH (bernama
ssh_keydi langkah saat Anda membuat pasangan kunci SSH).restore:serverBACKUP_SERVER_IP
Alamat IP server cadangan Anda.
restore:storageDirectoryBACKUP_DIRECTORY
Nama direktori cadangan di server cadangan Anda. Ini harus berupa direktori dalam
home/apigee(direktori cadangan bernamacassandra_backupdi langkah saat Anda membuat direktori cadangan).restore:cloudProviderHYBRIDProperti
cloudProvider: "HYBRID"wajib diisi.restore:snapshotTimestampTIMESTAMP
Stempel waktu snapshot cadangan yang akan dipulihkan. Untuk memeriksa stempel waktu yang dapat digunakan, buka
dbStorageBucketdan lihat file yang ada di bucket. Setiap nama file berisi nilai stempel waktu. Misalnya,backup_20210203213003_apigee-cassandra-default-0.tgzDengan 20210203213003 adalah nilai
snapshotTimestampyang akan Anda gunakan jika ingin memulihkan cadangan yang dibuat pada waktu tersebut.backup:enabledPencadangan dinonaktifkan secara default. Anda harus menetapkan properti ini ke true.backup:keyFilePATH_TO_PRIVATE_KEY_FILE
Jalur di sistem file lokal Anda ke file kunci pribadi SSH (bernama
ssh_keydi langkah saat Anda membuat pasangan kunci SSH).backup:serverBACKUP_SERVER_IP
Alamat IP server cadangan Anda.
backup:storageDirectoryBACKUP_DIRECTORY
Nama direktori cadangan di server cadangan Anda. Ini harus berupa direktori dalam
home/apigee(direktori cadangan bernamacassandra_backupdi langkah saat Anda membuat direktori cadangan).backup:cloudProviderHYBRIDProperti
cloudProvider: "HYBRID"wajib diisi.backup:scheduleSCHEDULE
Waktu saat pencadangan dimulai, yang ditentukan dalam sintaksis crontab standar. Default:
0 2 * * * - Buat deployment runtime hybrid baru. Tindakan ini akan membuat cluster Cassandra baru dan mulai memulihkan data cadangan ke cluster:
${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --restore${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml - Verifikasi progres tugas pemulihan dan pastikan
apigeedsdan semua pod lainnya sudah aktif:- Untuk memeriksa
apigeeds:kubectl get apigeeds -n apigee
- Untuk memeriksa semua pod lainnya:
kubectl get pods -n apigee
- Untuk memeriksa
Setelah pemulihan berhasil diselesaikan dan konfirmasi bahwa komponen runtime berfungsi dengan baik, sebaiknya konfigurasikan pencadangan di cluster:
- Hapus konfigurasi
restoredari fileoverrides-restore.yaml. - Tambahkan konfigurasi
backupke fileoverrides-restore.yaml. - Terapkan konfigurasi
backupdengan perintah berikut:./apigeectl apply -f ../overrides-restore.yaml