Mengaktifkan pemulihan terperinci


Halaman ini menjelaskan cara memilih resource untuk pemulihan dengan tingkat perincian yang lebih baik.

Ringkasan

Fitur pemulihan terperinci memungkinkan Anda memulihkan sebagian resource dari cadangan. Fitur pemulihan terperinci memberikan fleksibilitas untuk meningkatkan cakupan pemulihan yang ditentukan dalam rencana pemulihan induk. Jika cakupan pemulihan yang terperinci tidak tumpang-tindih dengan cakupan asli yang ditentukan dalam rencana pemulihan induk, tidak ada resource yang akan dipulihkan.

Fitur pemulihan terperinci dapat diaktifkan untuk rencana pemulihan dengan mode penanganan konflik tingkat resource individual:

  • Menggabungkan lewati
  • Gabungkan penggantian
  • Menggabungkan volume pengganti

Jika rencana pemulihan Anda menggunakan mode penanganan konflik tingkat namespace atau ProtectedApplication, seperti Gagal saat terjadi konflik atau Rollback dan Anda ingin mengaktifkan pemulihan yang terperinci, Anda harus memperbarui rencana pemulihan untuk menggunakan mode yang didukung atau membuat rencana pemulihan baru. Untuk informasi selengkapnya tentang mode pemulihan, lihat Menangani konflik resource selama pemulihan.

Untuk menggunakan pemulihan terperinci, Anda dapat menentukan satu atau beberapa kondisi filter di bagian filter penyertaan dan pengecualian. Anda dapat memilih subset resource tertentu dari cadangan untuk pemulihan atau memulihkan semua resource kecuali subset. Anda dapat menentukan filter penyertaan dan pengecualian secara bersamaan. Jika filter penyertaan digunakan, hanya resource yang cocok dengan filter tersebut yang akan dipulihkan. Jika filter pengecualian digunakan, filter tersebut akan mengecualikan resource yang cocok dari proses pemulihan. Jika filter penyertaan dan pengecualian ditentukan, filter penyertaan akan diterapkan terlebih dahulu, diikuti dengan filter pengecualian. Artinya, filter pengecualian memiliki prioritas atas filter penyertaan. Jika tidak ada filter yang ditentukan, pemulihan akan dilakukan pada seluruh cakupan yang ditentukan dalam rencana pemulihan induk.

Ada empat atribut opsional saat membuat kondisi filter:

  • GroupKind: grup dan jenis Kubernetes API untuk resource
  • Namespace: namespace untuk resource cakupan namespace
  • Nama resource: nama resource
  • Label: pasangan nilai kunci untuk memilih resource berdasarkan label Kubernetes

Anda dapat menggunakan kombinasi dari empat atribut sebelumnya untuk menentukan kondisi filter. Jika lebih dari satu atribut ditentukan, hubungan antara atribut dianggap sebagai AND. Resource dipilih jika cocok dengan semua atribut yang ditentukan dalam kondisi filter. Anda juga dapat memberikan beberapa kondisi filter secara bersamaan, hubungan antara kondisi filter yang berbeda adalah OR. Resource dipilih jika cocok dengan kondisi filter dari semua yang disediakan.

Sebelum memulai

Merencanakan serangkaian pemulihan.

Membuat pemulihan dengan filter pemulihan terperinci

gcloud

  1. Buat file YAML atau JSON dengan filter pemulihan terperinci. Anda dapat menggunakan contoh YAML berikut.

    exclusionFilters:
    - groupKind:
        resourceGroup: foo.io
        resourceKind: Bar
      name: name1
      namespace: ns1
    inclusionFilters:
    - labels:
        key1: value1
        key2: value2
    
  2. Buat pemulihan menggunakan file filter pemulihan terperinci yang Anda buat.

    gcloud beta container backup-restore restores create RESTORE \
        --project=PROJECT_ID \
        --location=LOCATION \
        --restore-plan=RESTORE_PLAN \
        --backup=BACKUP \
        --filter-file=FILTER_FILE
    

    Ganti kode berikut:

    • RESTORE: nama instance yang ingin Anda buat.
    • PROJECT_ID: ID project Google Cloud Anda.
    • LOCATION: region komputasi dari rencana pemulihan induk.
    • RESTORE_PLAN: nama paket pemulihan induk dari pemulihan ini.
    • BACKUP: cadangan yang akan dipulihkan. Ini harus berada dalam rencana cadangan yang dirujuk oleh rencana pemulihan induk sebagai projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP

    • FILTER_FILE: jalur filter pemulihan terperinci Anda.

    Untuk mengetahui daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore restores create.

Konsol

Gunakan petunjuk berikut untuk membuat pemulihan terperinci di konsol Google Cloud:

  1. Di konsol Google Cloud, buka halaman Google Kubernetes Engine.

    Buka Google Kubernetes Engine

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik tab Backups.

  4. Dalam daftar cadangan, pilih cadangan yang ingin Anda pulihkan, lalu klik Set up a restore.

  5. Pilih paket pemulihan dari daftar rencana yang berlaku untuk cadangan ini.

  6. Masukkan Nama dan Deskripsi opsional untuk pemulihan.

  7. Klik kotak centang Enable fine-grained restore.

  8. Di bagian Inclusion filters atau Exclusion filters, klik Add filter condition.

  9. Di Restore filter condition, tentukan kondisi dan klik Save changes.

  10. Jika Anda ingin menambahkan kondisi lainnya, klik Tambahkan kondisi filter lagi.

  11. Klik Pulihkan.

Contoh file filter pemulihan terperinci

Contoh berikut tersedia dalam format YAML yang digunakan oleh Google Cloud CLI atau petunjuk langkah demi langkah untuk konsol Google Cloud.

Memulihkan satu resource cakupan namespace

Contoh ini memulihkan jenis resource ConfigMap dengan nama nginx-vars di namespace webserver, menggunakan pemulihan terperinci InclusionFilters untuk memilih resource. Jika Anda ingin memilih resource di grup core, gunakan string kosong untuk resourceGroup.

gcloud

  inclusionFilters:
  - groupKind:
      resourceKind: ConfigMap
    name: nginx-vars
    namespace: webserver

Konsol

  1. Aktifkan pemulihan terperinci seperti yang Anda lakukan dalam prosedur Membuat pemulihan dengan filter pemulihan terperinci.
  2. Di bagian Filter penyertaan, klik Tambahkan kondisi filter.
  3. Di kolom Resource name, masukkan nginx-vars.
  4. Di kolom Namespace, masukkan webserver.
  5. Di kolom Jenis objek, masukkan ConfigMap.
  6. Klik Save changes.

Mengecualikan satu resource cakupan cluster

Contoh ini memulihkan semua resource yang tersedia kecuali satu resource GroupKind storage.k8s.io/StorageClass dengan nama sc1, menggunakan pemulihan terperinci ExclusionFilters untuk mengecualikan resource.

gcloud

exclusionFilters:
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass
  name: sc1

Konsol

  1. Aktifkan pemulihan terperinci seperti yang Anda lakukan dalam prosedur Membuat pemulihan dengan filter pemulihan terperinci.
  2. Di bagian Exclusion filters, klik Add filter condition.
  3. Di kolom Resource name, masukkan sc1.
  4. Di kolom API group, masukkan storage.k8s.io.
  5. Di kolom Jenis objek, masukkan StorageClass.
  6. Klik Save changes.

Memulihkan resource dengan dua label

Contoh ini memulihkan resource yang memiliki label key1:value1 dan key2:value2, menggunakan pemulihan terperinci InclusionFilters untuk memilih resource.

gcloud

inclusionFilters:
- labels:
    key1: value1
    key2: value2

Konsol

  1. Aktifkan pemulihan terperinci seperti yang Anda lakukan dalam prosedur Membuat pemulihan dengan filter pemulihan terperinci.
  2. Di bagian Filter penyertaan, klik Tambahkan kondisi filter.
  3. Di Bagian Labels:

    1. Klik Tambahkan label
    2. Di kolom Key 1, masukkan key1.
    3. Di kolom Value 1, masukkan value1.
    4. Klik Tambahkan label.
    5. Di kolom Key 2, masukkan key2.
    6. Di kolom Value 2, masukkan value2.
  4. Klik Save changes.

Mengecualikan semua resource dari beberapa GroupKinds

Contoh ini memulihkan semua resource yang tersedia kecuali GroupKind ConfigMap dan storage.k8s.io/StorageClass, menggunakan pemulihan terperinci ExclusionFilters untuk mengecualikan kedua GroupKind ini.

gcloud

exclusionFilters:
- groupKind:
    resourceKind: ConfigMap
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass

Konsol

  1. Aktifkan pemulihan terperinci seperti yang Anda lakukan dalam prosedur Membuat pemulihan dengan filter pemulihan terperinci.
  2. Di bagian Exclusion filters, klik Add filter condition.
    1. Di kolom Jenis objek, masukkan ConfigMap.
    2. Klik Save changes.
  3. Di bagian Exclusion filters, klik Add filter condition.
    1. Di kolom API group, masukkan storage.k8s.io.
    2. Di kolom Jenis objek, masukkan StorageClass.
    3. Klik Save changes.