Halaman ini menjelaskan cara membuat, mengedit, dan menghapus rencana pemulihan di Google Distributed Cloud (GDC) yang terisolasi.
Paket pemulihan adalah skenario pemulihan yang telah dikonfigurasi sebelumnya untuk baris cadangan yang sesuai. Rencana pemulihan dapat menetapkan izin bagi pengguna dengan peran Pembuat Cadangan untuk menggunakan konfigurasi ini.
Pembuat Cadangan dapat dengan cepat dan mandiri memulihkan cadangan saat terjadi insiden. Misalnya, data persisten mungkin rusak karena update software pada aplikasi yang di-deploy sehingga membuat namespace aplikasi berada dalam status tidak valid dan memerlukan pemulihan.
Selama pemulihan, Anda dapat memilih untuk menerapkan serangkaian aturan substitusi yang digunakan untuk mencocokkan serangkaian resource dan mengganti nilai atribut saat ini pada resource tersebut dengan nilai baru. Misalnya, aturan substitusi dapat mengubah namespace resource yang dicadangkan selama pemulihan untuk memigrasikan beban kerja dari satu namespace ke namespace lain.
Sebelum memulai
Untuk membuat rencana pemulihan, Anda harus memiliki hal berikut:
Peran akses dan identitas yang diperlukan:
- Admin Pencadangan Cluster Pengguna: mengelola resource pencadangan seperti rencana pencadangan dan pemulihan di cluster pengguna. Minta Admin IAM Organisasi Anda untuk memberi Anda peran User Cluster Backup Admin (
user-cluster-backup-admin
). Untuk mengetahui informasi selengkapnya, lihat Definisi peran. - Jika Anda adalah Operator Aplikasi, minta administrator yang memiliki hak istimewa Admin Pencadangan Cluster Pengguna untuk membuat rencana pemulihan bagi Anda.
- Admin Pencadangan Cluster Pengguna: mengelola resource pencadangan seperti rencana pencadangan dan pemulihan di cluster pengguna. Minta Admin IAM Organisasi Anda untuk memberi Anda peran User Cluster Backup Admin (
Membuat paket pemulihan
Buat rencana pemulihan menggunakan konsol GDC atau API.
Konsol
- Login ke konsol GDC.
- Di menu navigasi, klik Backup for Clusters.
- Klik Buat Rencana Pemulihan.
- Di bagian Dasar-dasar rencana pemulihan, selesaikan langkah-langkah berikut, lalu klik
Berikutnya:
- Di bagian Nama paket pemulihan, masukkan nama paket pemulihan Anda.
- (Opsional) Di Deskripsi paket pemulihan, masukkan deskripsi untuk paket pemulihan.
- Di daftar Source cluster, pilih cluster sumber untuk rencana pemulihan.
- Dalam daftar Project, pilih project untuk paket pemulihan.
- Pilih project yang terlampir ke cluster sumber.
- Di kolom Backup plan, pilih rencana pencadangan untuk cluster yang ada dan sesuai dengan cadangan yang ingin Anda pulihkan.
- Di kolom Target cluster, pilih cluster target tempat Anda ingin memulihkan cadangan.
- Di bagian Pilih resource dengan namespace, selesaikan langkah-langkah berikut
lalu klik Berikutnya:
- Pilih namespace yang akan dipulihkan:
- Klik Semua resource dengan namespace untuk memulihkan semua resource dengan namespace dalam cadangan.
- Klik Resource dengan namespace yang dipilih untuk menentukan
namespace dalam cadangan yang akan dipulihkan.
- Klik Edit namespace cluster, lalu Tambahkan namespace cluster untuk memasukkan namespace.
- Klik Aplikasi dilindungi yang dipilih untuk menambahkan resource dengan menentukan namespace dan nama aplikasi.
- Pilih cara menangani konflik:
- Klik Gagal karena konflik (non-destruktif) untuk menggagalkan pemulihan jika ada namespace yang ditargetkan untuk dipulihkan dari cadangan yang sudah ada di cluster target.
- Klik Rollback (destruktif) untuk menghapus namespace yang ada sebelum memulihkan namespace baru jika ada namespace yang ditargetkan untuk pemulihan dari cadangan yang sudah ada di cluster target.
- Pilih cara memulihkan data volume:
- Klik Sediakan volume baru dan pulihkan data volume dari cadangan untuk memulihkan data volume dari cadangan di persistent disk baru.
- Klik Jangan pulihkan data volume untuk menyediakan
volume persisten baru. Jika cluster target berisi volume persisten
tidak terikat yang memenuhi persyaratan
PersistentVolumeClaim
, cluster tersebut akan terikat dengan volume. - Klik Gunakan kembali volume yang ada dan berisi data Anda agar tidak
memulihkan data cadangan volume. Setiap
PersistentVolumeClaims
terikat dengan volume yang merujuk pada persistent disk yang ada.
- Pilih namespace yang akan dipulihkan:
- Opsional: Di bagian Pilih resource cakupan cluster, selesaikan
langkah-langkah berikut, lalu klik Berikutnya:
- Klik Jangan pulihkan resource cakupan cluster agar versi resource yang ada tidak berubah.
- Klik Pulihkan resource cakupan cluster menurut GroupKind untuk memulihkan
resource ini.
- Klik Edit GroupKinds untuk menambahkan lebih banyak resource cakupan cluster. Masukkan grup API dan jenis objek untuk mencocokkan resource dalam jenis tersebut.
- Klik Pertahankan resource yang ada untuk membuat resource jika resource tersebut tidak ada di cluster target.
- Klik Timpa resource dalam cluster target untuk menghapus resource jika sudah ada dalam cluster target, dan memulihkan salinan dari cadangan.
- Opsional: Di bagian Tambahkan aturan substitusi, selesaikan langkah-langkah
berikut, lalu klik Berikutnya:
- Klik Tambahkan aturan baru.
- Di kotak Cluster namespaces, masukkan daftar namespace untuk mencocokkan resource dalam namespace tersebut.
- Untuk menambahkan GroupKind, klik Tambahkan GroupKind, lalu masukkan grup API dan Jenis objek untuk mencocokkan resource dalam jenis tersebut.
- Di kolom Jalur JSON, ketik jalur JSON yang mengidentifikasi kolom di dalam resource yang cocok dan menerapkan substitusi.
- Di kolom Pola nilai asli, ketik pola asli untuk dibandingkan dengan nilai baru.
- Di kolom Nilai baru, ketik nilai baru yang menggantikan nilai saat ini dari atribut yang cocok.
- Klik Simpan.
- Klik Buat.
API
Buat resource kustom ClusterRestorePlan
untuk merencanakan pemulihan dari ClusterBackupPlan
yang ada. ClusterRestorePlan
menetapkan kumpulan resource dan
namespace yang persis sama yang diizinkan untuk dipulihkan oleh Pembuat Cadangan. Berikut contoh
ClusterRestorePlan
:
apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
name: restoreplan-sample
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: "user-vm-1"
description: "restores test clusters"
clusterBackupPlanName: "backupplan-sample"
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: ["nginx-2"]
clusterBackupRepositoryRef: "backup-repository"
substitutionRules:
- newValue: "newhippo"
originValuePattern: game-config-2
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
- newValue: "hippo"
originValuePattern: game-config
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
Ganti PROJECT_NAME
dengan nama project GDC Anda.
Contoh ini menggunakan nilai berikut:
Nilai |
Atribut |
Deskripsi |
---|---|---|
clusterBackupPlanName |
Nama ClusterBackupPlan yang akan dipulihkan. ClusterBackupPlan harus ada di namespace yang sama dengan ClusterRestorePlan . |
|
targetClusterName |
Nama cluster sumber dalam project yang terkait dengan rencana ini. | |
description |
Deskripsi yang diberikan pengguna untuk tujuan ClusterRestorePlan . |
|
clusterRestoreConfig |
Konfigurasi untuk proses pemulihan. | |
clusterBackupRepositoryRef |
Menentukan repositori untuk menyimpan Restore
resource. Repositori ini dapat berbeda dengan repositori yang
menjadi sumber cadangan. Repositori harus berupa repositori ReadWrite
di cluster. |
|
clusterResourceConflictPolicy |
Menentukan perilaku untuk menangani konflik resource cluster, seperti
jika resource sudah ada di cluster. Tentukan salah satu
dari:
|
|
volumeDataRestorePolicy |
Tentukan salah satu opsi:
|
|
namespacedResourceRestoreMode |
Menangani situasi saat set
resource dengan namespace yang dipulihkan sudah ada di cluster
target. Tentukan salah satu opsi:
|
|
namespacedResourceRestoreScope |
Menentukan Namespaces atau
ProtectedApplications mana yang diizinkan untuk pemulihan.
|
|
substitutionRules |
Aturan untuk mengganti nilai di resource Kubernetes yang dicadangkan selama pemulihan. Daftar kosong berarti tidak ada penggantian. Aturan substitusi diterapkan secara berurutan sesuai urutan yang ditentukan. Urutan ini penting, karena perubahan yang dilakukan oleh suatu aturan dapat memengaruhi logika pencocokan aturan berikutnya. |
Setelah ClusterRestorePlan
dibuat, pengguna dengan peran Pembuat Cadangan dapat memulihkan cadangan secara manual.
Melihat paket pemulihan
Melihat rencana pemulihan menggunakan konsol GDC:
- Login ke konsol GDC.
- Di menu navigasi, klik Backup for Clusters.
- Klik Pilih project untuk memilih organisasi atau project, bergantung pada peran Anda:
- Admin Pencadangan Cluster Pengguna: Pilih organisasi untuk melihat semua rencana pemulihan dalam organisasi atau pilih project untuk melihat semua rencana pemulihan dalam project.
- Pembuat Cadangan: Pilih project untuk melihat semua rencana pemulihan dalam project.
- Klik tab Pulihkan Paket.
- Klik rencana pemulihan dalam daftar untuk melihat detailnya.
Mengedit paket pemulihan
Jika repositori cadangan yang terkait dengan rencana pemulihan yang ingin Anda edit memiliki nilai di kolom Cluster Tertaut(hanya baca) saat rencana pemulihan dibuat, rencana tersebut akan dibuat dua kali. Paket pemulihan disebarkan ke cluster baca-tulis dan hanya baca.
Saat mengedit paket pemulihan yang dimiliki oleh
repositori cadangan yang memiliki setelan cluster baca-tulis dan hanya baca, Anda
harus mengedit paket pemulihan yang memiliki setelan TARGET CLUSTER
ke cluster
baca-tulis.
Mengedit rencana pemulihan menggunakan konsol GDC:
- Login ke konsol GDC.
- Di menu navigasi, klik Backup for Clusters.
- Klik Pilih project untuk memilih organisasi atau project, bergantung pada peran Anda:
- Admin Pencadangan Cluster Pengguna: Pilih organisasi untuk melihat semua rencana pemulihan dalam organisasi atau pilih project untuk melihat semua rencana pemulihan dalam project.
- Pembuat Cadangan: Pilih project untuk melihat semua rencana pemulihan dalam project.
- Klik tab Pulihkan Paket.
- Klik nama rencana pemulihan yang ingin Anda edit.
- Klik tab Konfigurasi Paket untuk melihat kolom yang dapat diubah.
Klik ikon Edit edit di samping Resource dengan namespace untuk mengedit resource tersebut:
Di bagian Pilih resource dengan namespace, pilih resource dengan namespace dalam cadangan yang ingin Anda pulihkan:
- Pilih Semua resource dengan namespace untuk memulihkan semua resource dengan namespace dalam cadangan.
Pilih Resource dengan namespace yang dipilih untuk memulihkan resource dari namespace yang dipilih dalam cadangan:
- Pilih Edit Cluster Namespaces untuk memilih namespace cluster.
- Di kolom Cluster namespace 1, masukkan nama untuk namespace.
- Klik tombol Save.
Pilih Aplikasi yang dilindungi yang dipilih untuk memulihkan resource dari aplikasi yang dilindungi yang dipilih dalam cadangan:
- Pilih Edit Aplikasi yang Dilindungi untuk memilih namespace dan aplikasi yang dilindungi.
- Di kolom Namespace 1, masukkan nama untuk namespace.
- Di kolom Aplikasi yang dilindungi 1, masukkan nama aplikasi yang dilindungi.
- Klik tombol Save.
Klik ikon editEdit di samping Cluster-scoped resources untuk mengedit resource tersebut:
Opsional: Di bagian Pilih resource cakupan cluster, pilih resource cakupan cluster yang akan dipulihkan dengan menentukan grup API dan
GroupKinds
, lalu tentukan cara konflik harus diselesaikan:- Pilih Jangan pulihkan resource cakupan cluster untuk menghapus resource cakupan cluster dari proses pemulihan.
Pilih Pulihkan resource cakupan cluster menurut GroupKind untuk memulihkan resource menurut
GroupKind
yang ditentukan:Untuk menentukan
GroupKind
, klik tombol Edit GroupKind.Klik tombol Add GroupKind.
Masukkan nama
GroupKind
.Klik tombol Save.
Di bagian Penanganan konflik, tentukan tindakan yang akan dilakukan jika resource sudah ada di cluster target:
- Pilih Pertahankan resource yang ada untuk membuat resource jika resource belum ada di cluster.
- Pilih Timpa resource yang ada untuk menghapus semua resource yang ada dan ditemukan, lalu ganti resource ini dengan resource yang dipulihkan.
Klik tombol Simpan untuk mengonfirmasi perubahan Anda.
Di bagian Aturan substitusi, klik tombol Tambahkan Aturan Baru untuk menambahkan aturan substitusi baru:
- Di kolom Cluster namespaces, masukkan nama namespace cluster yang akan menerapkan aturan penggantian ini.
- Klik tombol Tambahkan GroupKind untuk menerapkan aturan ini ke objek
GroupKind
tertentu. - Di kolom Jalur JSON, masukkan jalur ke atribut resource yang ingin Anda ganti, dalam format JSON.
- Di kolom Pola nilai asli, masukkan ekspresi reguler yang cocok dengan nilai asli atribut.
- Di kolom Nilai baru, masukkan nilai yang digantikan untuk kolom target. Jika kolom ini kosong, kolom target akan dihapus dari resource.
- Klik tombol Simpan untuk menyelesaikan pembuatan aturan penggantian baru.
Di bagian Aturan penggantian, klik ikon Edit edit untuk mengedit aturan penggantian yang ada.
Di bagian Aturan penggantian, klik ikon Hapus delete untuk menghapus aturan penggantian yang ada.
Menghapus paket pemulihan
RestorePlans
dapat dihapus melalui konsol GDC atau dengan menghapus
resource langsung dari server Kubernetes API. Tindakan ini akan membersihkan artefak RestorePlan
terkait dari penyimpanan objek.
Konsol
- Login ke konsol GDC.
- Di menu navigasi, klik Backup for Clusters.
- Klik Pilih project untuk memilih organisasi atau project, bergantung pada peran Anda:
- Admin Pencadangan Cluster Pengguna: Pilih organisasi untuk melihat semua paket pemulihan di organisasi, atau pilih project untuk melihat semua paket pemulihan di project.
- Pembuat Cadangan: Pilih project untuk melihat semua rencana pemulihan dalam project.
- Klik tab Pulihkan Paket.
- Klik nama rencana pemulihan yang ingin Anda hapus.
- Klik tombol delete Hapus.
- Masukkan nama paket pemulihan ke dalam kolom.
- Klik tombol Hapus untuk mengonfirmasi penghapusan rencana pemulihan ini.
API
Hapus resource paket pemulihan:
kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE
Ganti kode berikut:
RESTORE_PLAN_NAME
: nama paket pemulihan.NAMESPACE
: namespace yang berisi paket pemulihan.