Merencanakan set cadangan


Halaman ini menjelaskan cara membuat rencana Pencadangan untuk GKE, yang digunakan untuk mencadangkan workload Anda di Google Kubernetes Engine (GKE).

Rencana cadangan menyediakan fungsi konfigurasi, lokasi, dan pengelolaan untuk serangkaian cadangan. Rencana cadangan berisi konfigurasi cadangan yang mencakup cluster sumber, pemilihan workload yang akan dicadangkan, dan region tempat penyimpanan artefak cadangan yang dihasilkan berdasarkan rencana ini.

Anda dapat membuat satu atau beberapa rencana cadangan untuk setiap cluster. Ada dua alasan utama mengapa Anda memerlukan lebih dari satu rencana cadangan untuk satu cluster:

  • Anda ingin menyimpan artefak cadangan di beberapa region. Dalam hal ini, buat rencana cadangan untuk setiap region tempat Anda ingin menyimpan cadangan.
  • Anda ingin membuat partisi cadangan cluster, misalnya:

    • Dibandingkan satu cadangan berukuran sangat besar yang diambil pada satu waktu dalam sehari, Anda ingin beberapa cadangan yang lebih kecil didistribusikan sepanjang hari.
    • Anda ingin lebih sering mencadangkan beberapa bagian cluster daripada yang lain (seperti cadangan harian untuk beberapa namespace dan cadangan per jam untuk sebagian yang lain).

Sebaiknya setiap cluster memiliki minimal satu rencana cadangan.

Sebaiknya tentukan juga jadwal cron untuk rencana cadangan agar cadangan otomatis dibuat sesuai jadwal tersebut. Anda juga dapat mencadangkan workload secara manual. Setelah membuat rencana cadangan, Anda dapat membuat cadangan dari rencana tersebut.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat dan mengelola rencana cadangan, minta administrator untuk memberi Anda Admin Pencadangan untuk GKE Backup (roles/gkebackup.backupAdmin), yang merupakan subset peran IAM Pencadangan untuk Admin GKE (roles/gkebackup.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Buat rencana cadangan

Buat rencana cadangan menggunakan gcloud CLI atau konsol Google Cloud.

gcloud

Untuk membuat rencana cadangan dengan jadwal, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --encryption-key=ENCRYPTION_KEY
    --cron-schedule=SCHEDULE \
    --backup-retain-days=RETAIN_DAYS \
    --backup-delete-lock-days=DELETE_LOCK_DAYS \
    --locked

Ganti kode berikut:

  • BACKUP_PLAN: nama rencana cadangan yang ingin Anda buat.
  • PROJECT_ID: ID project Google Cloud Anda.
  • LOCATION: region komputasi untuk resource, misalnya us-central1. Lihat Tentang lokasi resource.
  • CLUSTER: jalur relatif ke cluster:
    • Cluster regional: projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
    • Cluster zona: projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
  • CLUSTER_NAME: nama cluster yang akan dicadangkan.
  • --all-namespaces: mencadangkan semua namespace untuk cluster.

    Atau, tentukan:

    • --selected-applications dengan daftar ProtectedApplications sebagai NAMESPACE1/APP1,NAMESPACE2/APP2,... yang akan dicadangkan.
    • --selected-namespaces dengan daftar namespace sebagai NAMESPACE1,NAMESPACE2,... yang akan dicadangkan.

    Anda harus menentukan salah satu opsi ini saat membuat rencana cadangan.

  • --include-secrets: (Opsional) menyertakan resource Secret jika berada dalam cakupan cadangan.

  • --include-volume-data: (Opsional) menyertakan data volume persisten dalam cadangan. Hapus flag ini jika Anda ingin membuat volume kosong selama pemulihan.

  • ENCRYPTION_KEY: (Opsional) menentukan jalur ke kunci enkripsi yang dikelola pelanggan. Lihat Tentang enkripsi CMEK.

  • SCHEDULE: (Opsional) menentukan jadwal yang otomatis membuat cadangan dan mendukung sintaksis cron standar. Misalnya, "10 3 * * *" membuat cadangan pada pukul 03.10 setiap hari. Semua waktu ditafsirkan sebagai UTC. Interval minimum antar-cadangan terjadwal adalah 10 menit.

  • RETAIN_DAYS: (Diperlukan jika SCHEDULE ditetapkan) jumlah hari untuk menyimpan cadangan. Cadangan untuk rencana ini akan otomatis dihapus setelah periode ini berakhir.

  • DELETE_LOCK_DAYS: (Opsional) jumlah hari cadangan tidak dapat dihapus. Jika nilai ini ditetapkan, cadangan yang dibuat untuk rencana tersebut tidak dapat dihapus (baik secara otomatis maupun secara manual) hingga periode aktif tersebut berakhir.

  • --locked: (Opsional) mengunci kebijakan retensi untuk rencana cadangan.

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

Membuat BackupPlan untuk semua namespace dengan jadwal harian

Perintah berikut membuat BackupPlan untuk menjadwalkan pencadangan harian untuk semua namespace pada pukul 05.20 setiap hari. Cadangan disimpan selama 7 hari dan dikunci selama 3 hari setelah pembuatan:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="20 5 * * *" \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Membuat BackupPlan untuk namespace yang dipilih dengan jadwal per jam

Perintah berikut membuat BackupPlan untuk menjadwalkan pencadangan per jam untuk namespace yang dipilih ( my-ns ) pada menit ke-15 setiap jam. Cadangan dipertahankan selama 3 hari setelah pembuatan:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-namespaces=my-ns \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="15 * * * *" \
    --backup-retain-days=3

Membuat BackupPlan untuk ProtectedApplication yang dipilih

Perintah berikut membuat BackupPlan untuk memilih ProtectedApplication ( my-ns/my-app ).

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-applications=my-ns1/my-app1,my-ns2/my-app2 \
    --include-secrets \
    --include-volume-data

Konsol

Gunakan petunjuk berikut untuk membuat rencana cadangan di Konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik Buat rencana cadangan.

  4. Di bagian Plan details, lakukan hal berikut:

    1. Pilih cluster yang akan dicadangkan.
    2. Masukkan nama rencana cadangan dan deskripsi opsional.
    3. Pilih lokasi untuk cadangan.
  5. Di bagian Jadwal pencadangan, pada kolom String CRON, masukkan ekspresi menggunakan sintaksis cron standar. Misalnya, 10 3 * * * membuat pencadangan pada pukul 03.10 setiap hari. Semua waktu ditafsirkan sebagai UTC. Interval minimum antar-cadangan terjadwal adalah 10 menit.

  6. Di bagian Kebijakan retensi, lakukan hal berikut:

    1. Tetapkan jumlah hari untuk meretensi cadangan sebelum cadangan otomatis dihapus.
    2. Tetapkan jumlah hari cadangan tidak dapat dihapus.
    3. Untuk mengunci kebijakan retensi, klik ikon gembok untuk mengubah kunci dari Nonaktif ke Aktif.
  7. Di bagian Mengonfigurasi cakupan dan enkripsi cadangan, lakukan hal berikut:

    1. Pilih cakupan untuk rencana cadangan:

      • Klik Seluruh cluster (termasuk semua namespace) untuk mencadangkan semua resource dengan namespace dalam cadangan.
      • Klik namespace yang dipilih dalam cluster ini untuk memilih namespace yang ingin disertakan dalam rencana cadangan.
      • Klik Aplikasi yang dilindungi yang dipilih dalam cluster ini untuk menambahkan resource dengan menentukan namespace dan nama aplikasi.
    2. Klik kotak centang Secrets untuk menyertakan resource Kubernetes Secret.

    3. Centang kotak Persistent volume data jika Anda menginginkan data volume dalam cadangan. Jika memilih untuk melewati data volume, Anda tidak dapat memulihkan data volume selama pemulihan. Namun, Anda akan memiliki dua opsi untuk memilih data volume saat memulihkan: Sediakan volume baru atau Gunakan kembali volume yang ada.

    4. Untuk mengaktifkan enkripsi CMEK, Anda harus terlebih dahulu memberikan akses ke kunci CMEK yang sesuai (lihat Tentang enkripsi CMEK).

      1. Klik kotak centang Gunakan kunci enkripsi yang dikelola pelanggan untuk memilih kunci.
  8. Tinjau detail rencana cadangan dan klik Buat rencana.

Terraform

Buat resource google_gke_backup_backup_plan

resource "google_gke_backup_backup_plan" "basic" {
   name = "BACKUP_PLAN"
   cluster = google_container_cluster.CLUSTER.id
   location = "LOCATION"
   retention_policy {
     backup_retain_days = 7
   }
   backup_schedule {
     cron_schedule = "17 3 * * *"
   }
   backup_config {
     include_volume_data = true
     include_secrets = true
     all_namespaces = true
   }
}

Ganti kode berikut:

  • BACKUP_PLAN: nama rencana cadangan yang ingin Anda buat.
  • CLUSTER: nama resource google_container_cluster.
  • LOCATION - region tempat Anda ingin menyimpan cadangan.

Untuk informasi selengkapnya, lihat gke_backup_backup_plan.

Melihat rencana cadangan

Lihat rencana cadangan dan detailnya menggunakan gcloud CLI atau konsol Google Cloud.

gcloud

Untuk mencantumkan semua rencana cadangan dalam project dan region, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans list \
    --project=PROJECT_ID \
    --location=LOCATION

Khusus untuk perintah list, Anda dapat memberikan - sebagai nilai untuk parameter apa pun kecuali PROJECT_ID. Nilai - berfungsi sebagai karakter pengganti. Nilai - adalah default untuk parameter apa pun jika Anda tidak menentukan opsi command line atau menetapkan properti.

Untuk mengetahui daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans list.

Untuk melihat detail rencana cadangan, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
     --project=PROJECT_ID \
     --location=LOCATION

Untuk daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans describe.

Konsol

Gunakan petunjuk berikut untuk melihat rencana cadangan di konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine.

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik tab Rencana Cadangan.

  4. Luaskan cluster dan klik nama rencana.

  5. Klik tab Detail untuk melihat detail rencana.

Memperbarui rencana cadangan

Perbarui rencana pencadangan menggunakan gcloud CLI atau konsol Google Cloud.

gcloud

Untuk memperbarui rencana cadangan, misalnya dengan menambahkan deskripsi baru, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --description=DESCRIPTION

Untuk daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans update.

Konsol

Gunakan petunjuk berikut untuk memperbarui rencana cadangan di konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik tab Rencana Cadangan.

  4. Luaskan cluster lalu klik nama rencana.

  5. Klik tab Detail untuk mengedit detail rencana.

  6. Klik Edit untuk mengedit bagian rencana, lalu klik Simpan perubahan.

Menjeda jadwal pencadangan

Anda dapat menjeda jadwal pencadangan. Selama jadwal dijeda, cadangan otomatis tidak akan dibuat. Anda masih dapat membuat cadangan secara manual.

gcloud

Untuk menjeda jadwal cadangan, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --paused

Untuk daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans update.

Konsol

Gunakan petunjuk berikut untuk menjeda jadwal pencadangan di Konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik tab Rencana Cadangan.

  4. Luaskan cluster lalu klik nama rencana.

  5. Klik Jeda Jadwal, lalu klik Jeda Jadwal dalam dialog konfirmasi.

Menghapus rencana cadangan

Anda dapat menghapus rencana cadangan menggunakan gcloud CLI atau konsol Google Cloud. Anda tidak dapat menghapus rencana cadangan jika rencana berisi cadangan apa pun.

gcloud

Untuk menghapus rencana cadangan, jalankan perintah berikut:

gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION

Untuk daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans delete.

Konsol

Gunakan petunjuk berikut untuk menghapus rencana cadangan di Konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di menu navigasi, klik Pencadangan untuk GKE.

  3. Klik tab Rencana Cadangan.

  4. Luaskan cluster lalu klik nama rencana.

  5. Klik Hapus rencana.

  6. Ketik nama rencana cadangan, lalu klik Hapus rencana cadangan di dialog konfirmasi.

Langkah selanjutnya