Halaman ini menjelaskan cara mengaktifkan mode permisif pada paket pencadangan.
Selama eksekusi pencadangan, jika Pencadangan untuk GKE mendeteksi kondisi yang kemungkinan menyebabkan pemulihan gagal, pencadangan itu sendiri akan gagal. Alasan kegagalan diberikan di kolom state_reason cadangan. Di konsol Google Cloud, kolom ini disebut sebagai Alasan status.
Jika Anda mengaktifkan mode permisif, deskripsi masalah masih diberikan di kolom Alasan status, tetapi pencadangan tidak akan gagal. Anda dapat mengaktifkan perilaku ini jika mengetahui masalahnya dan siap menggunakan solusi pada waktu pemulihan.
Berikut adalah contoh pesan error yang mungkin Anda lihat di
kolom Alasan status cadangan yang menyarankan untuk mengaktifkan mode permisif:
If you cannot implement the recommended fix, you may create a new backup with
Permissive Mode enabled.
gcloud
Mengaktifkan mode permisif:
gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION
--permissive-mode
Ganti kode berikut:
BACKUP_PLAN
: nama rencana cadangan yang ingin Anda perbarui.PROJECT_ID
: ID project Google Cloud Anda.LOCATION
: region komputasi untuk resource, misalnyaus-central1
. Lihat Tentang lokasi resource.Untuk mengetahui daftar lengkap opsi, lihat dokumentasi gcloud beta container backup-restore backup-plans update.
Konsol
Gunakan petunjuk berikut untuk mengaktifkan mode permisif di konsol Google Cloud:
Di konsol Google Cloud, buka halaman Google Kubernetes Engine.
Di menu navigasi, klik Pencadangan untuk GKE.
Klik tab Rencana cadangan.
Luaskan cluster lalu klik nama rencana.
Klik tab Detail untuk mengedit detail rencana.
Klik Edit untuk mengedit bagian dengan Mode pencadangan.
Klik kotak centang Mode permisif, lalu klik Simpan perubahan.
Terraform
Perbarui resource google_gke_backup_backup_plan
yang ada.
resource "google_gke_backup_backup_plan" "NAME" {
...
backup_config {
permissive_mode = true
...
}
}
Ganti kode berikut:
NAME
: namagoogle_gke_backup_backup_plan
yang ingin Anda perbarui.
Untuk informasi selengkapnya, lihat gke_backup_backup_plan.
Memecahkan masalah kegagalan pencadangan
Tabel berikut memberikan penjelasan dan tindakan yang direkomendasikan untuk berbagai pesan kegagalan pencadangan yang ditampilkan di kolom Alasan status pencadangan.
Pesan kegagalan pencadangan | Deskripsi pesan dan alasan kegagalan | Tindakan yang disarankan |
---|---|---|
|
Deskripsi: Custom Resource Definition (CRD) di
cluster awalnya diterapkan sebagai
apiextensions.k8s.io/v1beta1 dan tidak memiliki skema struktural
yang diperlukan di apiextensions.k8s.io/v1 .Alasan: Pencadangan untuk GKE tidak dapat menentukan skema struktur secara otomatis. Memulihkan CRD di cluster Kubernetes v1.22+, tempat apiextensions.k8s.io/v1beta1 tidak tersedia, menyebabkan
pemulihan gagal. Kegagalan ini terjadi saat memulihkan resource kustom yang ditentukan oleh CRD.
|
Sebaiknya gunakan opsi berikut:
Jika mode permisif diaktifkan, CRD tanpa skema struktural tidak akan dicadangkan di cluster Kubernetes v1.22+. Agar berhasil memulihkan cadangan tersebut, Anda harus mengecualikan resource yang ditayangkan oleh CRD dari pemulihan atau membuat CRD di cluster target sebelum memulai pemulihan. |
|
Deskripsi: Di cluster sumber, PVC terikat ke PV yang bukan volume Persistent Disk. Alasan: Pencadangan untuk GKE hanya mendukung pencadangan data volume Persistent Disk. PVC Non-Persistent Disk yang dipulihkan menggunakan kebijakan Sediakan volume baru dan pulihkan data volume dari cadangan tidak akan memulihkan data volume apa pun. Namun, kebijakan Gunakan kembali volume yang ada dan berisi data Anda memungkinkan PVC dihubungkan kembali ke handle volume asli. Hal ini berguna untuk jenis volume yang didukung oleh server eksternal, seperti NFS. |
Aktifkan mode permisif dengan pemahaman tentang opsi pemulihan yang tersedia untuk volume non-Persistent Disk di cluster sumber. Untuk
mencadangkan volume Filestore, lihat
Menangani volume Filestore dengan Pencadangan untuk GKE. Jika mode permisif diaktifkan, konfigurasi PVC akan dicadangkan, tetapi data volume tidak. |
|
Deskripsi: PVC di cluster tidak terikat dengan PV.
Alasan: Pencadangan untuk GKE dapat mencadangkan PVC, tetapi tidak ada data volume yang akan dicadangkan. Situasi ini mungkin menunjukkan kesalahan konfigurasi atau ketidakcocokan antara penyimpanan yang diminta dan yang tersedia. |
Periksa apakah PVC yang tidak terikat dalam kondisi yang dapat diterima. Jika ya,
aktifkan mode permisif. Perhatikan implikasinya terhadap perilaku
pencadangan. Jika mode permisif diaktifkan, konfigurasi PVC akan dicadangkan, tetapi tidak ada data volume yang akan dicadangkan. |
|
Deskripsi: Layanan API di cluster salah dikonfigurasi. Hal ini menyebabkan permintaan ke jalur API menampilkan "Gagal
mengkueri resource API". Layanan pokok mungkin tidak ada atau belum
siap. Alasan: Pencadangan untuk GKE tidak dapat mencadangkan resource apa pun yang ditayangkan oleh API yang tidak tersedia. |
Periksa layanan pokok di spec.service layanan API untuk memastikannya sudah siap.Jika mode permisif diaktifkan, resource dari grup API yang gagal dimuat tidak akan dicadangkan. |
|
Deskripsi: Di Kubernetes v1.23 dan yang lebih lama, akun layanan secara otomatis membuat token yang didukung oleh secret. Namun, dalam
versi yang lebih baru, Kubernetes menghapus fitur token yang dibuat otomatis ini. Pod
di cluster mungkin telah memasang volume secret ke
sistem file penampung. Alasan: Jika Pencadangan untuk GKE mencoba memulihkan akun layanan beserta secret yang dibuat secara otomatis dan Pod yang memasang volume secret, pemulihan tampaknya berhasil. Namun, Kubernetes menghapus secret, yang menyebabkan Pod macet dalam pembuatan container dan gagal dimulai. |
Tentukan kolom spec.serviceAccountName di Pod. Tindakan
ini memastikan bahwa token otomatis dipasang di
/var/run/secrets/kubernetes.io/serviceaccount dalam
penampung. Untuk informasi selengkapnya, lihat dokumentasi Mengonfigurasi Akun Layanan untuk Pod.Jika mode permisif diaktifkan, secret akan dicadangkan, tetapi tidak dapat dipasang di Pod di cluster Kubernetes v1.24+. |
CRD umum yang mengalami masalah dan tindakan yang disarankan
Berikut adalah beberapa CRD umum yang memiliki masalah pencadangan dan tindakan yang kami rekomendasikan untuk mengatasi masalah tersebut:
capacityrequests.internal.autoscaling.k8s.io
: CRD ini digunakan untuk sementara di cluster v1.21. Jalankankubectl delete crd capacityrequests.internal.autoscaling.k8s.io
untuk menghapus CRD.scalingpolicies.scalingpolicy.kope.io
: CRD ini digunakan untuk mengontrol resource fluentd, tetapi GKE telah bermigrasi untuk menggunakan fluentbit. Jalankankubectl delete crd scalingpolicies.scalingpolicy.kope.io
untuk menghapus CRD.memberships.hub.gke.io
: Jalankankubectl delete crd memberships.hub.gke.io
untuk menghapus CRD jika tidak ada resource keanggotaan. Aktifkan mode permisif jika ada resource langganan.applications.app.k8s.io
: Mengaktifkan mode permisif dengan pemahaman tentang perilaku pemulihan.