Halaman ini menjelaskan cara memulihkan Cassandra di satu region.
Dalam deployment region tunggal, Apigee Hybrid di-deploy dalam satu pusat data atau region. Jika Anda memiliki beberapa organisasi Apigee dalam deployment Anda, proses pemulihan akan memulihkan data untuk semua organisasi. Dalam penyiapan multiorganisasi, Anda tidak dapat memulihkan organisasi tertentu.
Memulihkan region dari cadangan
Dalam konfigurasi Anda, cadangan Cassandra dapat berada di Cloud Storage atau pada server jarak jauh. Dalam kedua kasus tersebut, lakukan langkah-langkah berikut untuk memulihkan:
- Verifikasi versi hybrid.
Pastikan versinya adalah versi yang sama dengan yang membuat file cadangan di penyimpanan.apigeectl version
- Pastikan bahwa cluster Kubernetes yang Anda pulihkan tidak memiliki penginstalan hybrid Apigee sebelumnya. Jika
Anda memulihkan ke cluster yang ada, gunakan perintah berikut untuk menghapus Apigee yang sudah ada
instalasi hybrid:
apigeectl delete -f overrides.yaml
kubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.
apigeectl delete --all -f overrides.yaml
- Buka file
overrides.yaml
Anda dan setelrestore
ke 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 namespace
YOUR_RESTORE_NAMESPACE
Namespace untuk dipulihkan. Gunakan namespace seperti pada cluster asli Anda.
cassandra:hostNetwork
hostNetwork
diperlukan dan harus selalu ditetapkan kefalse
.restore:enabled
Pemulihan dinonaktifkan secara default. Anda harus menyetel ini ke true
.restore:serviceAccountPath
SA_JSON_FILE_PATH
Jalur di sistem file ke akun layanan yang Anda buat untuk pencadangan.
restore:dbStorageBucket
CLOUD_STORAGE_BUCKET_PATH
Jalur bucket Cloud Storage tempat data cadangan Anda disimpan dalam format berikut:
gs://BUCKET_NAME
.gs://
wajib diisi.restore:cloudProvider
GCP
Properti
cloudProvider: "GCP"
wajib diisi.restore:snapshotTimestamp
TIMESTAMP
Stempel waktu snapshot cadangan yang akan dipulihkan. Untuk memeriksa stempel waktu yang dapat digunakan, buka
dbStorageBucket
dan lihat file yang ada di direktori VM dengan bucket. Setiap nama file berisi nilai stempel waktu. Misalnya,backup_20210203213003_apigee-cassandra-default-0.tgz
Dengan 20210203213003 adalah nilai
snapshotTimestamp
yang akan Anda digunakan jika Anda ingin memulihkan cadangan yang dibuat pada saat itu.backup:enabled
Pencadangan dinonaktifkan secara default. Anda harus menyetel ini ke true
.backup:serviceAccountPath
SA_JSON_FILE_PATH
Jalur di sistem file Anda ke file JSON akun layanan yang diunduh saat Anda menjalankan
./tools/create-service-account
backup:dbStorageBucket
CLOUD_STORAGE_BUCKET_PATH
Jalur bucket Cloud Storage dalam format ini:
gs://BUCKET_NAME
.gs://
wajib diisi.backup:cloudProvider
GCP
Properti
cloudProvider: "GCP"
wajib diisi.backup:schedule
SCHEDULE
Waktu mulai pencadangan, 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 namespace
YOUR_RESTORE_NAMESPACE
Namespace untuk dipulihkan. Gunakan namespace seperti pada cluster asli Anda.
cassandra:hostNetwork
hostNetwork
diperlukan dan harus selalu ditetapkan kefalse
.restore:enabled
Pemulihan dinonaktifkan secara default. Anda harus menyetel ini ke true
.restore:keyFile
PATH_TO_PRIVATE_KEY_FILE
Jalur di sistem file lokal Anda ke File kunci pribadi SSH (bernama
ssh_key
dalam langkah saat Anda membuat pasangan kunci SSH).restore:server
BACKUP_SERVER_IP
Alamat IP server cadangan Anda.
restore:storageDirectory
BACKUP_DIRECTORY
Nama direktori cadangan di server cadangan Anda. Ini harus berupa direktori di dalam
home/apigee
(direktori cadangan bernamacassandra_backup
pada langkah tempat Anda membuat direktori pencadangan).restore:cloudProvider
HYBRID
Properti
cloudProvider: "HYBRID"
wajib diisi.restore:snapshotTimestamp
TIMESTAMP
Stempel waktu snapshot cadangan yang akan dipulihkan. Untuk memeriksa stempel waktu yang dapat digunakan, buka
dbStorageBucket
dan lihat file yang ada di direktori VM dengan bucket. Setiap nama file berisi nilai stempel waktu. Misalnya,backup_20210203213003_apigee-cassandra-default-0.tgz
Dengan 20210203213003 adalah nilai
snapshotTimestamp
yang akan Anda digunakan jika Anda ingin memulihkan cadangan yang dibuat pada saat itu.backup:enabled
Pencadangan dinonaktifkan secara default. Anda harus menyetel ini ke true
.backup:keyFile
PATH_TO_PRIVATE_KEY_FILE
Jalur di sistem file lokal Anda ke file kunci pribadi SSH (bernama
ssh_key
pada langkah tempat Anda membuat pasangan kunci SSH).backup:server
BACKUP_SERVER_IP
Alamat IP server cadangan Anda.
backup:storageDirectory
BACKUP_DIRECTORY
Nama direktori cadangan di server cadangan Anda. Ini harus berupa direktori di dalam
home/apigee
(direktori cadangan bernamacassandra_backup
pada langkah tempat Anda membuat direktori pencadangan).backup:cloudProvider
HYBRID
Properti
cloudProvider: "HYBRID"
wajib diisi.backup:schedule
SCHEDULE
Waktu mulai pencadangan, yang ditentukan dalam sintaksis crontab standar. Default:
0 2 * * *
- Membuat deployment runtime hybrid baru. Tindakan ini akan membuat gugus
Cassandra baru dan memulai
memulihkan data cadangan ke dalam 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
apigeeds
dan 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 berhasil menyelesaikan pemulihan dan konfirmasi bahwa komponen runtime sehat, sebaiknya konfigurasi pencadangan pada cluster:
- Hapus konfigurasi
restore
dari fileoverrides-restore.yaml
. - Tambahkan konfigurasi
backup
ke fileoverrides-restore.yaml
. - Terapkan konfigurasi
backup
dengan perintah berikut:./apigeectl apply -f ../overrides-restore.yaml