Halaman ini menjelaskan cara mengonfigurasi strategi penanganan konflik untuk resource dengan namespace dan cakupan cluster dalam rencana pemulihan.
Saat memulihkan ke cluster, Anda mungkin mengalami konflik resource dalam skenario berikut:
- Memulihkan ke cluster yang ada yang sudah menyediakan resource.
- Saat resource Kubernetes dikelola oleh alat, seperti GitOps atau operator.
Pencadangan untuk GKE menyediakan berbagai opsi untuk menentukan penanganan konflik untuk resource dengan cakupan cluster dan namespace yang dapat Anda tentukan dalam rencana pemulihan.
Memulihkan penanganan konflik untuk resource cakupan cluster
Anda dapat mengonfigurasi opsi berikut dalam rencana pemulihan untuk menangani konflik untuk resource cakupan cluster:
- Simpan resource dalam cluster target (non-destruktif): jika resource dengan nama yang sama ada di cluster target, biarkan resource tersebut.
Ganti resource dalam cluster target (destruktif): jika resource sudah ada di cluster target, hapus dan pulihkan salinan dari cadangan.
gcloud
Perbarui rencana pemulihan yang ada untuk menangani konflik untuk resource cakupan cluster:
gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY
Ganti kode berikut:
RESTORE_PLAN
: nama paket pemulihan yang ingin Anda perbarui.PROJECT_ID
: ID project Google Cloud Anda.LOCATION
: region komputasi untuk resource, misalnyaus-central1
.CLUSTER_RESOURCE_CONFLICT_POLICY
: menentukan cara menangani konflik waktu pemulihan untuk resource cluster yang dipilih. Gunakan salah satu opsi berikut:use-existing-version
: jika resource yang dipulihkan sudah ada di cluster target, Pencadangan untuk GKE akan mempertahankan resource yang ada.use-backup-version
: jika resource yang dipulihkan sudah ada di cluster target, Pencadangan untuk GKE akan mengganti resource yang ada dengan resource baru dari cadangan.
Konsol
Gunakan petunjuk berikut untuk memperbarui kebijakan konflik resource cakupan cluster di konsol Google Cloud:
Di konsol Google Cloud, buka halaman Google Kubernetes Engine.
Di menu navigasi, klik Pencadangan untuk GKE.
Klik tab Pulihkan paket.
Klik nama paket pemulihan.
Klik tab Detail.
Di bagian Restore configurations, buka bagian Cluster-scoped resources, lalu klik Edit.
Di bagian Define conflict handling, pilih opsi penanganan konflik.
Klik Simpan perubahan.
Pemulihan penanganan konflik untuk resource dengan namespace
Dalam rencana pemulihan, Anda dapat mengonfigurasi opsi berikut untuk mengelola konflik untuk resource dengan namespace. Anda dapat menentukan penanganan konflik untuk resource dengan namespace pada tingkat berikut:
- Resource individual
- Namespace dan ProtectedApplication
Berikut adalah opsi yang tersedia untuk menangani konflik untuk setiap resource:
- Lewati penggabungan (non-destruktif): jika resource tertentu sudah ada, lewati pemulihan resource dari cadangan.
- Gabungkan volume penggantian (destruktif): jika resource tertentu sudah ada, lewati pemulihan resource tersebut, tetapi ganti volume persisten yang mendasarinya menggunakan kebijakan pemulihan data volume. Volume penggantian penggabungan akan mencapai pemulihan khusus data.
- Merge replace (destructive): jika resource tertentu sudah ada, ganti resource tersebut dengan resource dari cadangan dan data volume terkait dengan mengikuti kebijakan pemulihan data volume.
Berikut adalah opsi yang tersedia untuk menangani konflik semua resource yang termasuk dalam Namespace dan ProtectedApplication:
- Gagal karena konflik (non-destruktif): jika namespace atau ProtectedApplication yang ditargetkan untuk dipulihkan dari cadangan yang sudah ada di cluster target, pemulihan akan gagal.
Rollback (destruktif): jika cluster target berisi namespace atau ProtectedApplication yang ditargetkan untuk pemulihan ke cluster, grup resource yang ada akan dihapus sebelum resource baru dipulihkan.
gcloud
Perbarui rencana pemulihan yang ada untuk menangani konflik pada resource dengan namespace:
gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE
Ganti kode berikut:
RESTORE_PLAN
: nama paket pemulihan yang ingin Anda perbarui.PROJECT_ID
: ID project Google Cloud Anda.LOCATION
: region komputasi untuk resource, misalnyaus-central1
.NAMESPACED_RESOURCE_RESTORE_MODE
: menentukan cara menangani konflik waktu pemulihan untuk resource dengan namespace. Gunakan salah satu opsi berikut:merge-skip-on-conflict
: melewati setiap resource yang bertentangan.merge-replace-volume-on-conflict
: melewati setiap resource yang bertentangan, tetapi mengganti data volume persisten yang mendasarinya.merge-replace-on-conflict
: mengganti setiap resource yang bertentangan dan data volume persisten yang mendasarinya.fail-on-conflict
: gagal pada namespace atau ProtectedApplication yang bertentangan.delete-and-restore
: melakukan rollback namespace atau ProtectedApplication yang bertentangan.
Konsol
Gunakan petunjuk berikut untuk memperbarui kebijakan konflik resource dengan namespace di konsol Google Cloud:
Di konsol Google Cloud, buka halaman Google Kubernetes Engine.
Di menu navigasi, klik Pencadangan untuk GKE.
Klik tab Pulihkan Paket.
Klik nama paket pemulihan.
Klik tab Detail.
Di bagian Restore configurations, buka bagian Namespaced resources, lalu klik Edit.
Di bagian Define conflict handling, pilih opsi penanganan konflik.
Klik Simpan perubahan.
Penanganan konflik yang direkomendasikan untuk skenario umum
Tabel berikut mencantumkan strategi penanganan konflik yang direkomendasikan untuk skenario umum tertentu:
Skenario | Menggunakan penanganan konflik yang direkomendasikan untuk resource dengan namespace | Menggunakan penanganan konflik yang direkomendasikan untuk resource cakupan cluster |
---|---|---|
Memulihkan ke cluster baru | Gagal saat terjadi konflik | Mempertahankan resource di cluster target |
Memundurkan seluruh namespace atau ProtectedApplication | Menghapus dan memulihkan | Tidak berlaku |
Memulihkan ke cluster yang dikelola GitOps tanpa volume | Menggabungkan lewati | Mempertahankan resource di cluster target |
Pemulihan khusus data untuk cluster yang dikelola GitOps | Menggabungkan volume pengganti | Mempertahankan resource di cluster target |
Memundurkan data volume dan workload yang dipilih | Gabungkan penggantian | Mengganti resource di cluster target |
Langkah berikutnya
- Pelajari lebih lanjut cara memulihkan cadangan.