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 pencadangan. 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 selesai, meskipun resource GKE yang berpotensi menyebabkan kegagalan pemulihan terdeteksi selama proses pencadangan. Detail tentang masalah 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 kemungkinan pesan error di kolom Alasan status pencadangan 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 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 penampung 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.