Dokumen ini menjelaskan error dan kode yang sesuai yang mungkin Anda alami saat menggunakan Pencadangan untuk GKE guna melakukan operasi pemulihan. Setiap bagian mencakup hal-hal yang perlu dipertimbangkan saat melakukan tindakan untuk mengatasi error pemulihan, dan petunjuk tentang cara mengatasi error operasi pemulihan.
Error 200010301: Gagal menyelesaikan operasi pemulihan karena layanan webhook penerimaan tidak tersedia
Error 200010301
terjadi saat upaya untuk menyelesaikan operasi pemulihan gagal
karena layanan webhook penerimaan, yang juga disebut sebagai callback HTTP, tidak
tersedia, sehingga menghasilkan pesan error berikut. Pesan error
menunjukkan bahwa server GKE API mencoba menghubungi webhook penerimaan
saat mencoba memulihkan resource, tetapi layanan yang mendukung
webhook tidak tersedia atau tidak ditemukan:
resource [/example-group/ClusterSecretStore/example-store] restore failed:
Internal error occurred: failed calling webhook "example-webhook.io":
failed to call webhook: Post "https://example-webhook.example-namespace.svc:443/validate-example": service "example-webhook" not found.
Error ini terjadi saat resource GKE ValidatingAdmissionWebhook
atau MutatingAdmissionWebhook
aktif di cluster target, tetapi server GKE API tidak dapat menjangkau endpoint yang dikonfigurasi di webhook. Webhook penerimaan mencegat permintaan ke server
GKE API, dan konfigurasinya menentukan cara server
GKE API harus mengkueri permintaan.
clientConfig
webhook menentukan backend yang menangani permintaan
penerimaan, yang dapat berupa layanan cluster internal atau URL eksternal. Pilihan antara kedua opsi ini bergantung pada persyaratan operasional dan arsitektur spesifik webhook Anda. Bergantung pada jenis opsi,
operasi pemulihan mungkin gagal karena alasan berikut:
Layanan dalam cluster: layanan GKE dan pod pendukungnya tidak dipulihkan atau siap saat server API GKE mencoba memanggil webhook. Hal ini terjadi selama operasi pemulihan saat konfigurasi webhook cakupan cluster diterapkan sebelum layanan cakupan namespace sepenuhnya dalam status
ready
.URL eksternal: endpoint eksternal tidak tersedia untuk sementara karena masalah konektivitas jaringan antara cluster GKE dan endpoint eksternal, atau karena masalah resolusi DNS atau aturan firewall.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi webhook yang gagal yang disebutkan dalam pesan error. Misalnya,
failed calling webhook "..."
.Periksa webhook dengan menjalankan perintah
kubectl get validatingwebhookconfigurations
:kubectl get validatingwebhookconfigurations WEBHOOK_NAME -o yaml
Ganti
WEBHOOK_NAME
dengan nama webhook yang diidentifikasi dalam pesan error.Anda juga dapat menjalankan perintah
kubectl get mutatingwebhookconfigurations
untuk memeriksa webhook:kubectl get mutatingwebhookconfigurations WEBHOOK_NAME -o yaml
Ganti
WEBHOOK_NAME
dengan nama webhook yang diidentifikasi dalam pesan error.Lakukan langkah-langkah pemecahan masalah berikut berdasarkan jenis konfigurasi Anda:
Berbasis layanan
clientConfig
Tentukan urutan pemulihan kustom dengan mengubah resource
RestorePlan
untuk menyertakanRestoreOrder
dengan entriGroupKindDependency
. Hal ini memungkinkan komponen yang mendukung webhook sepertiDeployment
,StatefulSet
, atauService
dipulihkan dan siap sebelumValidatingWebhookConfiguration
atauMutatingWebhookConfiguration
.Untuk mengetahui petunjuk tentang cara menentukan urutan pemulihan kustom, lihat Menentukan urutan pemulihan resource selama pemulihan.
Pendekatan ini dapat gagal karena pod layanan tidak memasuki status
ready
sepenuhnya meskipun setelah objekService
dibuat. Alasan lain kegagalan bisa disebabkan karena konfigurasi webhook mungkin dibuat secara tidak terduga oleh aplikasi lain. Atau, Anda dapat melakukan operasi pemulihan dua tahap menggunakan langkah-langkah berikut:Buat resource
Restore
menggunakan cadangan dengan mengonfigurasi operasi pemulihan dengan filter pemulihan terperinci yang akan mencakup resource tertentu yang diperlukan agar webhook dapat berfungsi, misalnya,Namespaces
,Deployments
,StatefulSets
, atauServices
.Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi pemulihan dengan filter pemulihan terperinci, lihat Mengaktifkan pemulihan terperinci.
Buat resource
Restore
lain untuk operasi pencadangan dan konfigurasi resource lainnya yang Anda pilih.
Berdasarkan URL
clientConfig
Verifikasi endpoint HTTPS eksternal dan pastikan endpoint tersebut aktif, dapat dijangkau, dan berfungsi dengan benar.
Pastikan ada konektivitas jaringan dari node dan bidang kontrol cluster GKE Anda ke URL eksternal. Anda mungkin juga perlu memeriksa aturan firewall, misalnya, jika Anda menggunakan Virtual Private Cloud, lokal, atau penyedia cloud yang menghosting webhook, kebijakan jaringan, dan resolusi DNS.
Coba lagi operasi pemulihan. Jika operasi terus gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 200010302: Gagal menyelesaikan operasi pemulihan karena permintaan pembuatan resource ditolak
Error 200010302
terjadi saat upaya untuk menyelesaikan operasi pemulihan gagal
karena webhook penerimaan menolak permintaan pembuatan resource, yang menghasilkan
pesan error berikut yang menunjukkan bahwa resource dari cadangan Anda
tidak dapat dibuat di cluster target karena webhook penerimaan aktif
mencegat permintaan dan menolaknya berdasarkan kebijakan kustom:
[KubeError]; e.g. resource
[/example-namespace/example-api/ExampleResource/example-name]
restore failed: admission webhook "example-webhook.example.com" denied the request: {reason for denial}
Error ini disebabkan oleh setelan konfigurasi di cluster GKE target, yang memiliki ValidatingAdmissionWebhook
atau MutatingAdmissionWebhook
yang menerapkan aturan tertentu pada pembuatan dan modifikasi resource, sehingga memblokir permintaan pembuatan resource.
Misalnya, webhook mencegah pembuatan resource karena resource terkait
tetapi bertentangan sudah ada di cluster. Misalnya, webhook
dapat menolak pembuatan deployment jika sudah dikelola oleh resource
HorizontalPodAutoscaler
GKE API.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi webhook yang menolak permintaan menggunakan pesan error yang terjadi saat operasi pemulihan gagal. Misalnya,
webhook WEBHOOK_NAME denied the request
Pesan error berisi informasi berikut:Nama webhook: nama webhook yang menolak permintaan.
Alasan penolakan: alasan spesifik penolakan permintaan.
Periksa webhook dengan menjalankan perintah
kubectl get validatingwebhookconfigurations
:kubectl get validatingwebhookconfigurations WEBHOOK_NAME -o yaml
Ganti
WEBHOOK_NAME
dengan nama webhook yang Anda identifikasi dalam pesan error.Anda juga dapat menjalankan perintah
kubectl get mutatingwebhookconfigurations
untuk memeriksa webhook:kubectl get mutatingwebhookconfigurations WEBHOOK_NAME -o yaml
Ganti
WEBHOOK_NAME
dengan nama webhook yang Anda identifikasi dari pesan error.Selesaikan masalah pokok di cluster target. Tindakan yang benar bergantung pada error tertentu. Sebagai contoh, jika ada konflik
HorizontalPodAutoscaler
, Anda harus menghapusHorizontalPodAutoscaler
yang ada di cluster target sebelum menjalankan pemulihan untuk memungkinkan beban kerja yang dicadangkan dan resource terkaitnya dibuat.Coba lagi operasi pemulihan. Jika operasi pemulihan terus gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 200060202: Gagal menyelesaikan operasi pemulihan karena resource GKE tidak ada selama validasi workload
Error 200060202
terjadi selama fase validasi workload operasi pemulihan saat resource GKE yang diharapkan Backup for GKE untuk divalidasi tidak dapat ditemukan di cluster target, sehingga menghasilkan pesan error berikut:
Workload Validation Error: [KIND] "[NAME]" not found
Contoh, Example: Workload Validation Error: pods "jenkins-0" not found
Error ini terjadi saat Pencadangan untuk GKE berhasil membuat atau mengupdate resource GKE sebagai bagian dari proses operasi pemulihan, tetapi saat tahap validasi dimulai, satu atau beberapa resource GKE tidak ada lagi di cluster target karena resource tersebut dihapus setelah resource dibuat atau diupdate awalnya oleh proses pemulihan, tetapi sebelum validasi workload untuk resource GKE dapat selesai. Error seperti ini dapat terjadi karena alasan berikut:
Penghapusan manual: pengguna atau administrator menghapus resource secara manual menggunakan
kubectl
atau alat Google Cloud lainnya.Otomatisasi eksternal: Pengontrol GitOps seperti Config Sync, ArgoCD, Flux, skrip kustom, atau alat pengelolaan cluster lainnya membatalkan atau menghapus resource agar sesuai dengan status yang diinginkan di repositori.
Pengontrol GKE: pengontrol GKE menghapus resource karena bertentangan dengan resource atau kebijakan lain, atau rantai
OwnerReference
menyebabkan pengumpulan sampah, atau proses pembersihan otomatis oleh GKE yang menghapus resource dependen saat resourceowner
-nya dihapus.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi resource yang hilang menggunakan pesan error yang muncul saat operasi pemulihan gagal diselesaikan.
Temukan namespace tempat resource berada menggunakan salah satu metode berikut:
Log audit GKE: periksa log audit GKE yang dibuat saat Anda mencoba operasi pemulihan. Anda dapat memfilter log untuk operasi penghapusan pada resource
Kind
danName
. Entri log audit berisi namespace asli.Detail pencadangan: tinjau cakupan operasi pemulihan dan isi cadangan Anda. Indeks cadangan menampilkan namespace asli resource. Anda juga dapat memverifikasi apakah
RestorePlan
berisiTransformationRule
yang menentukan aturan untuk memulihkan resource di namespace yang Anda pilih.Menelusuri di seluruh namespace: jalankan perintah
kubectl get
untuk menelusuri resource di semua namespace:kubectl get KIND --all-namespaces | grep NAME
Ganti
KIND
danNAME
dengan nilai dari pesan error. Jika resource masih ada, perintah ini akan menampilkan namespace-nya.
Verifikasi penghapusan dengan menjalankan perintah
kubectl get
:kubectl get KIND NAME -n [NAMESPACE]
Ganti
KIND
danNAME
dengan nilai dari pesan error. Anda akan menerima pesan errornot found
Selidiki penyebab penghapusan menggunakan salah satu metode berikut:
Log audit GKE: mengidentifikasi entitas mana yang mengeluarkan permintaan penghapusan. Misalnya, pengguna, akun layanan, atau pengontrol.
Tinjau otomatisasi yang dikonfigurasi: Jika Anda menggunakan GitOps atau alat otomatisasi lainnya, periksa log dan statusnya untuk melihat apakah alat tersebut mengganggu resource yang dipulihkan.
Periksa peristiwa terkait: periksa peristiwa GKE di namespace yang ditentukan dengan menjalankan perintah
kubectl get events
:kubectl get events -n NAMESPACE_NAME --sort-by='.lastTimestamp'
Ganti
NAMESPACE_NAME
dengan nama namespace.
Atasi penyebab penghapusan resource berdasarkan hasil langkah sebelumnya. Misalnya, menjeda otomatisasi yang bertentangan, memperbaiki kesalahan konfigurasi, atau menyesuaikan izin pengguna.
Pulihkan resource yang hilang menggunakan salah satu metode berikut:
Terapkan kembali file manifes: jika Anda memiliki manifes untuk aset yang hilang, Anda dapat menerapkannya kembali ke namespace yang benar.
Lakukan pemulihan terperinci: lakukan operasi pemulihan terperinci untuk memulihkan secara selektif hanya resource yang hilang dari cadangan yang sama, yang memastikan Anda menentukan namespace yang benar. Untuk mengetahui informasi selengkapnya tentang cara melakukan operasi pemulihan terperinci, lihat Mengaktifkan pemulihan terperinci.
Coba lagi operasi pemulihan. Jika operasi pemulihan terus gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 200060201: Gagal menyelesaikan operasi pemulihan karena waktu tunggu validasi beban kerja habis
Error 200060201
terjadi saat satu atau beberapa workload yang dipulihkan gagal menjadi
ready
sepenuhnya selama operasi pemulihan dalam batas waktu yang diharapkan setelah
resource dibuat di cluster, sehingga menghasilkan pesan error
berikut:
Workload Validation Error: Timedout waiting for workloads to be ready - [namespace/workload_name, ...]
Error ini terjadi karena Pencadangan untuk GKE melakukan langkah validasi setelah
memulihkan konfigurasi resource GKE untuk memastikan bahwa workload
penting berfungsi dengan benar. Pencadangan untuk GKE menunggu workload tertentu mencapai status ready
, tetapi setidaknya satu workload tidak memenuhi kriteria kesiapan berikut dalam periode waktu tunggu yang dialokasikan:
Untuk
Pods
:status.Phase
adalahRunning
Untuk
Deployments
:status.ReadyReplicas
sama denganspec.Replicas
Untuk
StatefulSets
:status.ReadyReplicas
sama denganspec.Replicas
Untuk
DaemonSets
:status.NumberReady
sama denganstatus.DesiredNumberScheduled
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi workload yang tidak dalam status
ready
dalam pesan error yang mencantumkan workload dan namespace-nya yang gagal memasuki statusready
.Periksa status beban kerja dan dapatkan detail serta peristiwa untuk beban kerja yang gagal dengan menjalankan perintah
kubectl describe
:kubectl describe WORKLOAD_TYPE WORKLOAD_NAME -n NAMESPACE_NAME kubectl get pods -n NAMESPACE_NAME -l SELECTOR_FOR_WORKLOAD
Ganti kode berikut:
WORKLOAD_TYPE
: jenis beban kerja, misalnya,Deployment
,StatefulSet
, atauDaemonSet
.WORKLOAD_NAME
: nama instance beban kerja tertentu.NAMESPACE_NAME
: namespace tempat workload berada.SELECTOR_FOR_WORKLOAD
: pemilih label untuk menemukanPods
yang terkait dengan workload. Misalnya,app=my-app
.
Untuk pod dalam jenis beban kerja
Deployments
atauStatefulSets
, periksa status setiap Pod dengan menjalankan perintahkubectl describe pod
:kubectl describe pod POD_NAME -n NAMESPACE_NAME
Ganti kode berikut:
POD_NAME
: nama pod tertentu.NAMESPACE_NAME
: namespace tempat pod berada.
Di bagian
Events
, analisis peristiwa dan log dalam outputdescribe
dan temukan informasi berikut:ImagePullBackOff / ErrImagePull
: menunjukkan bahwa ada masalah saat mengambil image container.CrashLoopBackOff
: menunjukkan bahwa penampung sedang dimulai dan mengalami error.
Di bagian
Containers
, analisis log container dalam outputdescribe
untuk menemukan nama container dengan menjalankan perintahkubectl logs
:kubectl logs POD_NAME -n NAMESPACE_NAME -c CONTAINER_NAME
Ganti kode berikut:
POD_NAME
: nama pod tertentu.NAMESPACE_NAME
: namespace tempat pod berada.CONTAINER_NAME
: nama container dalam Pod.
Menurut output
describe
, ada beberapa alasan mengapa pod mungkin tidak muncul dalam output resource, termasuk:Kegagalan pemeriksaan kesiapan: pemeriksaan kesiapan container tidak berhasil.
Masalah resource: tidak ada cukup CPU, memori, atau resource lain di cluster atau batas kuota telah tercapai.
Masalah container init: kegagalan di container init yang menghalangi container utama untuk dimulai.
Error konfigurasi: error dalam
ConfigMaps
,Secrets
, atau variabel lingkungan.Masalah jaringan:
Pods
tidak dapat berkomunikasi dengan layanan yang diperlukan.
Periksa resource cluster GKE untuk memastikan cluster GKE memiliki kapasitas node, CPU, dan memori yang cukup untuk menjalankan workload yang dipulihkan. Di cluster Autopilot, penyediaan otomatis node mungkin memerlukan waktu tambahan, oleh karena itu, sebaiknya periksa apakah ada batasan atau error penskalaan node. Atasi masalah mendasar berdasarkan temuan Anda, dan selesaikan masalah yang mencegah workload memasuki status
ready
. Pendekatan ini dapat mencakup mengoreksi manifes, menyesuaikan permintaan atau batas resource, memperbaiki kebijakan jaringan, atau memastikan dependensi terpenuhi.Setelah masalah mendasar teratasi, tunggu hingga workload memasuki status
ready
. Anda tidak perlu menjalankan operasi pemulihan lagi.
Jika masalah berlanjut, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 200060102: Gagal menyelesaikan operasi pemulihan karena error validasi volume
Error 200060102
terjadi karena satu atau beberapa resource VolumeRestore
, yang mengelola proses memulihkan data dari VolumeBackup
ke PersistentVolume
, telah memasuki status failed
atau deleting
selama fase validasi volume operasi pemulihan. Pemulihan volume yang gagal akan menghasilkan pesan error berikut di kolom stateReason resource pemulihan:
Volume Validation Error: Some of the volume restores failed - [projects/PROJECT_ID/locations/LOCATION/restorePlans/RESTORE_PLAN_ID/restores/RESTORE_ID/volumeRestores/VOLUME_RESTORE_ID (PVC: NAMESPACE/PVC_NAME), ...]
Pesan error mencantumkan nama resource lengkap dari VolumeRestore
yang gagal,
termasuk nama dan namespace PersistentVolumeClaim
target. Pesan error
menunjukkan bahwa proses pemulihan data untuk PersistentVolumeClaim
yang terpengaruh
tidak berhasil diselesaikan saat Backup untuk GKE
memulai penyediaan resource VolumeRestore
dari
VolumeBackups
, dan pembuatan Persistent Disk yang mendasarinya dari snapshot
gagal.PersistentVolumes
Kegagalan VolumeRestore
dapat terjadi karena alasan berikut:
Kuota tidak mencukupi: tidak ada kuota Persistent Disk yang dialokasikan dalam jumlah yang cukup di project atau region, misalnya,
SSD_TOTAL_GB
.Masalah izin: akun layanan yang digunakan oleh Backup for GKE tidak memiliki izin yang diperlukan untuk membuat disk atau mengakses snapshot.
Masalah jaringan: ada masalah jaringan sementara atau persisten yang mengganggu proses pembuatan disk.
Snapshot tidak valid: snapshot sumber
VolumeBackup
atau Persistent Disk yang mendasarinya rusak atau tidak dapat diakses.Batasan resource: batasan resource cluster lainnya menghambat penyediaan volume.
Error internal: ada masalah internal dalam layanan Persistent Disk.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi
PersistentVolumeClaims
yang gagal yang tercantum dalam pesan error, yang mencantumkan nama resource lengkap dari objekVolumeRestore
yang gagal.Dapatkan detail setiap resource
VolumeRestore
yang gagal dengan menjalankan perintahgcloud beta container backup-restore volume-restores describe
:gcloud beta container backup-restore volume-restores describe VOLUME_RESTORE_ID \ --project=PROJECT_ID \ --location=LOCATION \ --restore-plan=RESTORE_PLAN_ID \ --restore=RESTORE_ID
Ganti kode berikut:
VOLUME_RESTORE_ID
: ID resourceVolumeRestore
yang gagal.PROJECT_ID
: ID Google Cloud project Anda.LOCATION
: Google Cloud lokasi pemulihan.RESTORE_PLAN_ID
: ID paket pemulihan.RESTORE_ID
: ID operasi pemulihan.
Periksa kolom
state
danstateMessage
dalam output untuk mengetahui detail terkait kegagalan.Periksa status target
PersistentVolumeClaim
dengan menjalankan perintahkubectl get pvc
:kubectl get pvc PVC_NAME -n NAMESPACE_NAME -o yaml
Ganti kode berikut:
PVC_NAME
: nama resourcePersistentVolumeClaim
.NAMESPACE_NAME
: namespace tempatPersistentVolumeClaim
berada.
Pastikan bagian
status.phase
output menunjukkan fasePending
. Fase ini berartiPersistentVolumeClaim
belum terikat kePersistentVolume
, yang diharapkan jikaVolumeRestore
gagal.Periksa bagian
Events
dalam output YAML untuk melihat pesan terkait kegagalan penyediaan, sepertiProvisioningFailed
, misalnya:Cloud KMS error when using key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource 'projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY' (or it may not exist).
Output menunjukkan bahwa ada masalah izin saat mengakses kunci enkripsi selama pembuatan disk. Untuk memberikan
compute service agent
izin yang relevan untuk mengakses kunci, gunakan petunjuk yang dijelaskan dalam dokumentasi Pencadangan untuk GKE tentang mengaktifkan enkripsi CMEK.Tinjau peristiwa GKE di namespace
PersistentVolumeClaim
, yang memberikan pesan error mendetail dari pengontrolPersistentVolume
atau driver CSI, dengan menjalankan perintahkubectl get events
:kubectl get events -n NAMESPACE_NAME --sort-by='.lastTimestamp'
Ganti
NAMESPACE_NAME
dengan namespacePersistentVolumeClaim
,Identifikasi peristiwa yang terkait dengan nama
PersistentVolumeClaim
, yang berisi kata kunci sepertiFailedProvisioning
atauExternalProvisioning
. Peristiwa ini juga dapat berisi error dari penyedia penyimpanan, sepertipd.csi.storage.gke.io
.Periksa log Persistent Disk dengan memeriksa Cloud Audit Logs dan log Persistent Disk di Cloud Logging untuk menemukan error terkait operasi pembuatan disk di sekitar waktu terjadinya kegagalan.
Berdasarkan pesan error yang dihasilkan, atasi masalah mendasar berikut:
Tingkatkan kuota Persistent Disk jika ditunjukkan, seperti
(QUOTA_EXCEEDED}: Quota SSD_TOTAL_GB exceeded
.Verifikasi dan perbaiki izin IAM.
Menyelidiki dan menyelesaikan masalah jaringan.
Hubungi Layanan Pelanggan Cloud untuk menyelesaikan masalah terkait snapshot atau layanan Persistent Disk.
PersistentVolumeClaim
tetap dalam statusPending
.Proses operasi pemulihan tidak otomatis mencoba ulang
VolumeRestore
. Untuk mengatasi hal ini, Anda harus memicu operasi pemulihan untuk workloadDeployment
atauStatefulSet
yang menggunakanPersistentVolumeClaim
yang terpengaruh.Gunakan pemulihan terperinci untuk memulihkan workload
Deployment
atauStatefulSet
yang terkait denganPersistentVolumeClaim
yang gagal secara selektif. Pendekatan ini memungkinkan mekanisme GKE standar menangani proses pembuatan dan pengikatanPersistentVolumeClaim
lagi jika masalah yang mendasarinya telah diperbaiki. Untuk mengetahui informasi selengkapnya tentang pemulihan terperinci, lihat Mengaktifkan pemulihan terperinci.
Jika masalah berlanjut atau penyebab kegagalan VolumeRestore
tidak jelas,
hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 200060101: Gagal menyelesaikan operasi pemulihan karena waktu tunggu validasi volume habis
Error 200060101
terjadi selama fase validasi volume operasi pemulihan saat Backup untuk GKE berhenti menunggu karena setidaknya satu resource VolumeRestore
, yang mengelola pemulihan data dari VolumeBackup
, tidak mencapai status succeeded
dalam periode waktu tunggu yang dialokasikan. Resource
VolumeRestore
lainnya juga mungkin tidak lengkap.
Pesan error di kolom stateReason
resource Restore
menampilkan resource VolumeRestore
pertama yang ditemukan dan belum dalam status succeeded
saat waktu tunggu habis diperiksa. Hal ini mencakup nama dan namespace PersistentVolumeClaim
target untuk VolumeRestore
tertentu tersebut, misalnya:
Volume Validation Error: Timed out waiting for volume restore [projects/PROJECT_ID/locations/LOCATION/restorePlans/RESTORE_PLAN_NAME/restores/RESTORE_NAME/volumeRestores/VOLUME_RESTORE_ID (PVC: PVC_NAMESPACE/PVC_NAME)]
Backup for GKE memulai penyediaan resource VolumeRestore
PersistentVolumes
dari VolumeBackups
. Error ini menunjukkan bahwa pembuatan Persistent Disk yang mendasarinya dari snapshot dan pengikatan PersistentVolumeClaim
berikutnya ke PersistentVolume
membutuhkan waktu lebih lama daripada waktu tunggu yang dihitung untuk VolumeRestore
yang dikutip. VolumeRestores
lain untuk
operasi pemulihan yang sama juga mungkin dalam status belum selesai.
Meskipun waktu tunggu telah tercapai dari perspektif Pencadangan untuk GKE, proses pembuatan disk yang mendasar untuk resource VolumeRestore
yang disebutkan, dan mungkin resource VolumeRestore
, mungkin masih berlangsung atau gagal.
Untuk mengatasi masalah ini, gunakan petunjuk berikut:
Identifikasi nama dan namespace
PersistentVolumeClaim
yang waktunya habis dalam pesan error, misalnya,(PVC: PVC_NAMESPACE/PVC_NAME)
.Tampilkan daftar semua
VolumeRestores
yang terkait dengan operasi pemulihan untuk melihat statusnya saat ini dengan menjalankan perintahgcloud beta container backup-restore volume-restores list
:gcloud beta container backup-restore volume-restores list \ --project=PROJECT_ID \ --location=LOCATION \ --restore-plan=RESTORE_PLAN_NAME \ --restore=RESTORE_NAME
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project.LOCATION
: Google Cloud lokasi pemulihan.RESTORE_PLAN_NAME
: nama paket pemulihan.RESTORE_NAME
: nama operasi pemulihan.
Temukan
VolumeRestores
yang tidak dalam statussucceeded
.Dapatkan detail tentang
VolumeRestore
yang disebutkan dalam error danVolumeRestores
lainnya yang tidak dalam statussucceeded
dengan menjalankan perintahgcloud beta container backup-restore volume-restores describe
:gcloud beta container backup-restore volume-restores describe VOLUME_RESTORE_ID \ --project=PROJECT_ID \ --location=LOCATION \ --restore-plan=RESTORE_PLAN_NAME \ --restore=RESTORE_NAME
Ganti kode berikut:
VOLUME_RESTORE_ID
: ID resourceVolumeRestore
.PROJECT_ID
: ID Google Cloud project Anda.LOCATION
: Google Cloud lokasi pemulihan.RESTORE_PLAN_NAME
: nama paket pemulihan.RESTORE_NAME
: nama operasi pemulihan.
Periksa kolom
state
danstateMessage
. Nilai kolomstate
kemungkinan adalahcreating
ataurestoring
. KolomstateMessage
dapat memberikan konteks lebih lanjut dan berisi detailPersistentVolumeClaim
target.Periksa status target yang diidentifikasi
PersistentVolumeClaims
dengan menjalankan perintahkubectl get pvc
:kubectl get pvc PVC_NAME -n PVC_NAMESPACE -o yaml
Ganti kode berikut:
PVC_NAME
: namaPersistentVolumeClaim
.PVC_NAMESPACE
: namespacePersistentVolumeClaim
.
Nilai
PersistentVolumeClaim's
status.phase
kemungkinan adalahPending
. Periksa bagianEvents
untuk mengetahui error berikut:Waiting for first consumer to be created before binding
: menunjukkan bahwaStorageClass
memilikivolumeBindingMode: WaitForFirstConsumer
.Penyediaan
PersistentVolume
ditunda hinggaPod
yang menggunakanPersistentVolumeClaim
dibuat dan dijadwalkan. Masalahnya mungkin terjadi pada penjadwalanPod
, bukan penyediaan volume itu sendiri. Oleh karena itu, sebaiknya konfirmasi alasanPods
yang menggunakanPersistentVolumeClaim
tidak dijadwalkan atau tidak dimulai.FailedProvisioning
atau error dari penyedia penyimpanan: Misalnya,pd.csi.storage.gke.io
.
Tinjau peristiwa GKE di namespace yang relevan dengan menjalankan perintah
kubectl get events
:kubectl get events -n PVC_NAMESPACE --sort-by='.lastTimestamp'
Ganti
PVC_NAMESPACE
dengan namespacePersistentVolumeClaim
.Cari peristiwa yang terkait dengan nama
PersistentVolumeClaim
, seperti pesan atau error penyediaan.Periksa log Cloud Audit Logs dan Persistent Disk di Cloud Logging.
Pantau status semua
VolumeRestores
dalam statuscreating
danrestoring
.Setelah masalah diperbaiki, status
VolumeRestores
dapat bertransisi ke statussucceeded
ataufailed
. JikaVolumeRestores
mencapai statussucceeded
,PersistentVolumeClaims
akan menjadiBound
dan workload akan berfungsi. Jika adaVolumeRestore
yang memasuki statusfailed
, Anda harus melakukan langkah-langkah pemecahan masalah untuk mengatasi error validasi volume. Untuk mengetahui informasi selengkapnya, lihat Error 200060102: Gagal menyelesaikan operasi pemulihan karena error validasi volume
Jika VolumeRestores
tetap dalam status creating
atau restoring
dalam jangka waktu yang terlalu lama, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.