Halaman ini menjelaskan cara mengaktifkan mode permisif pada rencana pencadangan.
Selama eksekusi pencadangan, jika Pencadangan untuk GKE mendeteksi kondisi yang kemungkinan akan 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.
Tentang mode permisif
Jika kegagalan pencadangan tidak dapat diterima dan masalah yang mendasarinya tidak dapat diatasi, Anda dapat mengaktifkan mode permisif. Mode permisif memastikan bahwa pencadangan berhasil diselesaikan, meskipun resource GKE yang berpotensi menyebabkan kegagalan pemulihan terdeteksi selama proses pencadangan. Detail tentang masalah ini diberikan di kolom Alasan status cadangan.
Sebaiknya gunakan opsi ini hanya jika Anda memahami masalahnya dan dapat menerapkan solusi selama proses pemulihan. Untuk mengetahui daftar potensi pesan error di kolom Alasan status cadangan dengan tindakan yang direkomendasikan, lihat Memecahkan masalah kegagalan pencadangan.
gcloud
Aktifkan 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 cadangan.
Centang kotak 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 mengetahui 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 struktural 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 Anda menggunakan 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 memiliki data volume yang dipulihkan. 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 memahami opsi pemulihan yang tersedia untuk volume Disk Non-Persisten 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 ke 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 implikasi untuk 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 yang mendasarinya 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 memastikan layanan tersebut 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 otomatis membuat token yang didukung oleh secret. Namun, di
versi yang lebih baru, Kubernetes menghapus fitur token yang dibuat otomatis ini. Pod
di cluster mungkin telah memasang volume secret ke sistem file
container-nya. Alasan: Jika Pencadangan untuk GKE mencoba memulihkan akun layanan beserta secret yang dibuat otomatis dan Pod yang memasang volume secret, pemulihan akan tampak 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 mengetahui informasi selengkapnya, lihat dokumentasi
Mengonfigurasi Akun Layanan untuk Pod.Jika mode permisif diaktifkan, rahasia akan dicadangkan, tetapi tidak dapat dipasang di Pod dalam cluster Kubernetes v1.24+. |
CRD umum yang bermasalah dan tindakan yang disarankan
Berikut adalah beberapa CRD umum yang memiliki masalah pencadangan dan tindakan yang kami sarankan 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 keanggotaan.applications.app.k8s.io
: Aktifkan mode permisif dengan memahami perilaku pemulihan.