Halaman ini menjelaskan error izin yang mungkin Anda alami saat menggunakan Pencadangan untuk GKE, hal-hal yang perlu dipertimbangkan saat melakukan tindakan, dan cara menyelesaikan error.
Error 100010101: Gagal mencadangkan PersistentVolumeClaim - Binding IAM untuk project tenant tidak ada
Error 100010101
terjadi saat upaya mencadangkan PersistentVolumeClaim
gagal karena binding Identity and Access Management untuk project tenant Anda tidak ada, sehingga
menghasilkan pesan error yang menyatakan
Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
.
Backup for GKE membuat snapshot Persistent Disk cluster GKE Anda. Snapshot berada di project Google Cloud Anda, yang juga dikenal sebagai project konsumen, dan Google Cloud membuatnya dalam project tenant yang dikelolanya. Project tenant ada dalam organisasi google.com
, terpisah dari organisasi Anda sendiri.
Agen layanan dalam project tenant memerlukan izin tertentu untuk menggunakan
kunci enkripsi yang dikelola pelanggan (CMEK) yang mengenkripsi Persistent Disk yang
dirujuk oleh PersistentVolumeClaim
kluster Anda. Izin ini
mengenkripsi dan mendekripsi data snapshot. Jika agen layanan service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
tidak memiliki peran roles/cloudkms.cryptoKeyEncrypterDecrypter
di CMEK disk Anda, operasi pencadangan akan gagal.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Pastikan Anda memiliki izin IAM yang memadai untuk mengubah kebijakan IAM pada kunci Cloud Key Management Service di konsol, seperti
roles/cloudkms.admin
atauroles/owner
. Google CloudTemukan agen layanan Compute Engine project tenant menggunakan nilai
TENANT_PROJECT_NUMBER
yang ada dalam pesanstatus reason
dari operasi pencadangan yang gagal. Contohnya,service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Temukan informasi CMEK berikut yang digunakan untuk Persistent Disk terenkripsi Anda:
Nama kunci: nama kunci enkripsi Anda.
Key ring: nama key ring tempat kunci Anda berada.
Location: lokasi Google Cloud tempat kunci Anda berada. Misalnya,
global
atauus-central1
.
Untuk memberikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
pada CMEK Anda kepada agen layanan Compute Engine project tenant, jalankan perintahgcloud kms keys add-iam-policy-binding
menggunakan Google Cloud CLI:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
KEY_NAME
: nama kunci enkripsi Anda.KEY_RING
: nama key ring.LOCATION
: Google Cloud lokasi kunci Anda. Misalnya,global
atauus-central1
.TENANT_PROJECT_NUMBER
: nomor project tenant yang Anda peroleh dari pesanstatus reason
dari operasi pencadangan yang gagal.
Jika perintah berhasil, output-nya akan terlihat seperti berikut:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Uji ulang operasi pencadangan. Jika operasi masih gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 100010104: Gagal mencadangkan PersistentVolumeClaim - Pelanggaran batasan kebijakan org saat membuat snapshot
Error 100010104
terjadi saat upaya mencadangkan PersistentVolumeClaim
gagal karena pelanggaran batasan kebijakan organisasi selama pembuatan snapshot, sehingga menghasilkan pesan error yang menyatakan
Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
.
Backup for GKE membuat snapshot Persistent Disk cluster GKE Anda. Snapshot berada di project Google Cloud Anda, yang juga dikenal sebagai project konsumen, dan dibuat dalam project tenant yang dikelola oleh Google Cloud. Project tenant ada dalam organisasi google.com
, terpisah dari organisasi Anda sendiri.
Kebijakan organisasi Anda menentukan tempat Anda dapat membuat resource penyimpanan. Error
Constraint constraints/compute.storageResourceUseRestrictions violated
berarti bahwa resource atau snapshot melanggar kebijakan karena
dibuat di project tenant yang bukan bagian dari struktur organisasi yang
diizinkan. Karena project tenant berada dalam organisasi Google, project tersebut berada
di luar kebijakan yang Anda tetapkan, yang menyebabkan pencadangan gagal.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Temukan kebijakan organisasi yang menerapkan batasan
constraints/compute.storageResourceUseRestrictions
. Untuk mengetahui informasi selengkapnya tentang cara melihat kebijakan organisasi menggunakan konsol Google Cloud , lihat Melihat kebijakan organisasi.Ubah kebijakan
constraints/compute.storageResourceUseRestrictions
untuk menyertakan folder project tenantfolders/77620796932
yang digunakan oleh Backup for GKE dalam daftar yang diizinkannya.Simpan perubahan kebijakan setelah Anda menambahkan folder ke daftar yang diizinkan.
Uji ulang operasi pencadangan setelah kebijakan organisasi diperbarui dan diterapkan, yang biasanya memerlukan waktu beberapa menit. Pencadangan harus dilanjutkan tanpa melanggar batasan penggunaan resource penyimpanan. Jika operasi masih gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 100010106: Gagal mencadangkan PersistentVolumeClaim - Binding IAM untuk agen layanan Backup for GKE tidak ada
Error 100010106
terjadi saat upaya mencadangkan PersistentVolumeClaim
gagal karena binding Identity and Access Management yang tidak ada untuk agen layanan Backup for GKE Anda, sehingga menghasilkan pesan error yang menyatakan Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
.
Pencadangan untuk GKE memerlukan izin untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) BackupPlan
's Anda untuk mengenkripsi dan mendekripsi volume Persistent Disk. Jika
agen layanan Backup for GKE tidak memiliki peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
di CMEK BackupPlan
Anda,
operasi pencadangan akan gagal.
Untuk mengatasi error ini, gunakan petunjuk berikut:
Identifikasi agen layanan Backup for GKE yang dikelola Google khusus untuk project Anda. Misalnya,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Anda dapat menemukan nomor project menggunakan metode berikut:Gunakan dasbor project Google Cloud di konsol Google Cloud .
Jalankan perintah
gcloud projects describe
menggunakan Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Ganti
PROJECT_ID
dengan nama unik project Anda.
Identifikasi detail CMEK berikut:
Nama kunci: nama kunci enkripsi Anda.
Key ring: nama key ring tempat kunci Anda berada.
Lokasi: lokasi Google Cloud tempat CMEK
BackupPlan
Anda berada. Contohnya,global
atauus-central1
.
Untuk memberikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
ke agen layanan Pencadangan untuk GKE di CMEK Anda, gunakan Google Cloud CLI untuk menjalankan perintahgcloud kms keys add-iam-policy-binding
:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
KEY_NAME
: nama kunci enkripsi Anda.KEY_RING
: nama key ring.LOCATION
: Google Cloud lokasi kunci Anda. Misalnya,global
atauus-central1
.PROJECT_NUMBER
: nomor project Google Cloud Anda.
Pastikan Anda memiliki izin Identity and Access Management yang diperlukan pada kunci Cloud Key Management Service. Misalnya
roles/cloudkms.admin
atauroles/owner
.Verifikasi bahwa Anda memiliki izin yang diberikan. Di output perintah
gcloud kms keys add-iam-policy-binding
sebelumnya, cari entri yang mirip dengan berikut ini:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Uji ulang operasi pencadangan setelah Anda memberikan izin yang diperlukan. Jika operasi tidak berhasil diselesaikan, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 100010107: Gagal mencadangkan PersistentVolumeClaim - Binding IAM tidak ada - akun layanan agen (KCP)
Error 100010107
terjadi saat Anda mencoba melakukan operasi pencadangan Pencadangan untuk GKE dan agen layanan cluster Google Kubernetes Engine tidak memiliki akses ke kunci enkripsi yang dikelola pelanggan (CMEK), sehingga menghasilkan pesan yang menyatakan Failed to backup PVC - Missing IAM binding - agent service account (KCP)
.
Agen layanan cluster Google Kubernetes Engine, biasanya dalam format
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
,
sangat penting agar cluster GKE Anda dapat berinteraksi dengan layanan Google Cloud. Saat paket pencadangan Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Agen layanan ini memerlukan izin untuk mengenkripsi dan mendekripsi data cadangan Anda menggunakan CMEK Anda. Jika paket pencadangan tidak memiliki peran roles/cloudkms.cryptoKeyEncrypterDecrypter
di CMEK Anda, operasi pencadangan yang dimulai dari cluster akan gagal dengan error
permission denied
.
Untuk mengatasi error ini, gunakan petunjuk pemecahan masalah berikut:
Pastikan Anda memiliki izin yang benar untuk mengubah kebijakan IAM pada kunci Cloud Key Management Service. Misalnya,
cloudkms.admin
atauroles/owner
.Identifikasi agen layanan cluster Google Kubernetes Engine. Agen layanan ini dibuat dan dikelola secara otomatis oleh Google Cloud untuk cluster GKE Anda. Contoh,
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
. Anda memerlukan nomor project untuk menyusun akun layanan lengkap. Anda dapat menemukan nomor project menggunakan salah satu metode berikut:Gunakan dasbor project Google Cloud di konsol Google Cloud .
Jalankan perintah
gcloud projects describe
menggunakan Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Ganti
PROJECT_ID
dengan project ID Anda.
Cari informasi CMEK berikut:
Nama kunci: nama kunci enkripsi Anda.
Key ring: nama key ring tempat kunci Anda berada.
Location: lokasi Google Cloud tempat kunci Anda berada. Misalnya,
global
atauus-central1
.
Berikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
di tingkat CMEK. Agen layanan Google Kubernetes Engine memerlukan izin pada kunci enkripsi Anda. Untuk memberikan peranroles/cloudkms.cryptoKeyEncrypterDecrypter
di CMEK Anda, gunakan Google Cloud CLI untuk menjalankan perintahgcloud kms key add-iam-policy-binding
:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
KEY_NAME
: nama kunci enkripsi Anda.KEY_RING
: nama key ring.LOCATION
: Google Cloud lokasi kunci Anda. Misalnya,global
atauus-central1
.PROJECT_NUMBER
: nama project.
Outputnya mirip dengan hal berikut ini:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Coba lagi operasi Backup for GKE. Jika operasi terus gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 100020101: Gagal mencadangkan PersistentVolumeClaim - PersistentVolumeClaim terikat ke jenis PersistentVolume yang tidak didukung
Error 100020101
terjadi saat upaya mencadangkan PersistentVolumeClaim
gagal karena PersistentVolumeClaim
terikat ke jenis PersistentVolume
yang tidak didukung. Error ini akan menghasilkan pesan error berikut:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Error ini terjadi saat operasi Pencadangan untuk GKE Anda mengalami
PersistentVolumeClaim
yang terikat ke PersistentVolume
yang menggunakan jenis volume
yang tidak didukung untuk pencadangan data oleh Pencadangan untuk GKE. Pencadangan untuk GKE
terutama mendukung pencadangan data dari volume Persistent Disk. Jika
PersistentVolumeClaim
terikat ke PersistentVolume
yang bukan Persistent Disk,
operasi pencadangan gagal untuk data PersistentVolumeClaim
.
Untuk mengatasi error ini, gunakan petunjuk pemecahan masalah berikut:
Buat daftar semua
PersistentVolumeClaims
danPersistentVolumes
yang terikat padanya dengan menjalankan perintahkubectl get pvc
. Tinjau daftar ini untuk mengidentifikasiPersistentVolumes
yang didukung oleh jenis volume yang tidak didukung.kubectl get pvc --all-namespaces -o wide
Tentukan jenis volume
PersistentVolume
yang didukung oleh jenis volume yang tidak didukung oleh Backup for GKE dengan menjalankan perintahkubectl describe pv
:kubectl describe pv PERSISTENT_VOLUME_NAME
Ganti kode berikut:
PERSISTENT_VOLUME_NAME
: namaPersistentVolume
yang memiliki jenis volume yang tidak didukung yang tercantum sebagai kolomVOLUME
dalam output dari langkah sebelumnya.Dalam output, gunakan kolom
Source
danDriver
untuk mendapatkan detail penyedia volume:Untuk Persistent Disk yang didukung: output-nya akan terlihat mirip dengan
Source.Driver: pd.csi.storage.gke.io
atauSource.Type:GCEPersistentDisk
.Untuk jenis yang tidak didukung yang menyebabkan error: outputnya akan berupa driver non-Persistent Disk, misalnya,
Source.Driver:filestore.csi.storage.gke.io
.
Gunakan salah satu metode berikut untuk mengatasi error:
Bermigrasi ke volume Persistent Disk: sebaiknya gunakan metode ini untuk pencadangan data lengkap. Jika Anda perlu mencadangkan data volume yang sebenarnya, Anda harus menggunakan Persistent Disk, yang melibatkan migrasi data Anda dari jenis volume yang tidak didukung ke volume CSI Persistent Disk baru. Untuk mendapatkan bantuan terkait migrasi volume Disk Persisten, hubungi Cloud Customer Care.
Aktifkan mode permisif di Pencadangan untuk GKE: kami merekomendasikan metode ini jika pencadangan data tidak diperlukan untuk volume yang tidak didukung. Jika memigrasikan data tidak layak atau diperlukan—misalnya, jika volume didukung oleh layanan eksternal dan Anda berencana untuk melampirkannya kembali selama operasi pemulihan—Anda dapat mengonfigurasi rencana pencadangan Backup for GKE untuk mengizinkan pencadangan dilanjutkan dalam mode permisif. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan mode permisif, lihat Mengaktifkan mode permisif pada rencana pencadangan.
Coba lagi operasi Backup for GKE. Berdasarkan metode yang Anda pilih untuk menyelesaikan error, operasi Pencadangan untuk GKE akan berperilaku dengan cara berikut:
Jika Anda bermigrasi ke volume Persistent Disk, pencadangan akan berhasil untuk volume, termasuk datanya.
Jika Anda mengaktifkan mode permisif, operasi pencadangan akan berhasil, tetapi data untuk volume yang tidak didukung tidak dicadangkan.
Jika operasi terus gagal, hubungi Cloud Customer Care untuk mendapatkan bantuan lebih lanjut.
Error 100020104: Gagal mencadangkan PersistentVolumeClaim - PersistentVolumeClaim tidak terikat ke PersistentVolume
Error 100020104
terjadi saat upaya mencadangkan PersistentVolumeClaim
gagal karena PersistentVolumeClaim
tidak terikat ke PersistentVolume
. Error tersebut menghasilkan pesan error berikut: Failed to backup PVC - PVC Not Bound to a Persistent Volume
.
Error ini terjadi saat operasi Pencadangan untuk GKE Anda mencoba mencadangkan
PersistentVolumeClaim
yang tidak berhasil terikat ke PersistentVolume
.
PersistentVolumeClaim
harus terikat ke PersistentVolume
sebelum dapat digunakan oleh workload yang menggunakan, seperti Pod, dan selanjutnya dicadangkan oleh Pencadangan untuk GKE. Jika PersistentVolumeClaim
tetap dalam status Pending
,
hal ini menandakan bahwa PersistentVolume
yang sesuai tidak tersedia atau tidak dapat
disediakan atau diikat, yang menyebabkan kegagalan operasi pencadangan. Alasan umum PersistentVolumeClaim
tetap tidak terikat adalah saat StorageClass
terkait menggunakan mode binding WaitForFirstConsumer
, tetapi belum ada Pod atau workload lain yang mencoba menggunakan PersistentVolumeClaim
.
Untuk mengatasi error ini, gunakan petunjuk pemecahan masalah berikut:
Untuk memeriksa status semua
PersistentVolumeClaims
di cluster dan mengidentifikasiPersistentVolumeClaim
yang tidak terikat, jalankan perintahkubectl get pvc
:kubectl get pvc --all-namespaces | grep `Pending`
Setelah Anda mengidentifikasi
PersistentVolumeClaim
yang tidak terikat kePersistentVolume
, ambil informasi tentangPersistentVolumeClaim
yang tidak terikat dengan menjalankan perintahkubectl describe pvc
:kubectl describe pvc PVC_NAME -n NAMESPACE_NAME
Ganti kode berikut:
PVC_NAME
: namaPersistentVolumeClaim
yang gagal dicadangkan.NAMESPACE_NAME
: nama namespace tempatPersistentVolumeClaim
berada.
Setelah deskripsi muncul, gunakan kolom
Status
danEvents
untuk menentukan apakahPersistentVolumeClaim
terikat kePersistentVolume
. Jika Anda masih tidak dapat menentukan alasanPersistentVolumeClaim
tidak terikat kePersistentVolume
atau Anda tidak dapat menyelesaikan masalah yang teridentifikasi, Anda dapat mengaktifkan mode permisif pada rencana pencadangan Anda. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan mode permisif, lihat Mengaktifkan mode permisif pada rencana pencadangan.