Halaman ini menunjukkan cara memecahkan masalah akun layanan Google Kubernetes Engine (GKE).
Memulihkan akun layanan default ke project Google Cloud Anda
Akun layanan default GKE, container-engine-robot
, dapat
tidak terikat dari project secara tidak sengaja. Peran Agen Layanan Kubernetes Engine (roles/container.serviceAgent
) adalah peran Identity and Access Management (IAM) yang memberikan izin kepada akun layanan untuk mengelola resource cluster. Jika Anda menghapus binding peran ini dari akun layanan, akun layanan default akan terlepas dari project, sehingga Anda tidak dapat men-deploy aplikasi dan melakukan operasi cluster lainnya.
Untuk melihat apakah akun layanan dihapus dari project Anda, Anda dapat menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Di konsol Google Cloud, buka halaman IAM & Admin.
gcloud
Jalankan perintah berikut:
gcloud projects get-iam-policy PROJECT_ID
Ganti
PROJECT_ID
dengan project ID Anda.
Jika dasbor atau perintah tidak menampilkan container-engine-robot
di antara akun layanan Anda, peran tidak terikat.
Untuk memulihkan binding peran Agen Layanan Kubernetes Engine
(roles/container.serviceAgent
), jalankan perintah berikut:
PROJECT_NUMBER=$(gcloud projects describe "PROJECT_ID" \
--format 'get(projectNumber)') \
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "serviceAccount:service-${PROJECT_NUMBER?}@container-engine-robot.iam.gserviceaccount.com" \
--role roles/container.serviceAgent
Pastikan bahwa penetapan peran dipulihkan:
gcloud projects get-iam-policy $PROJECT_ID
Jika Anda melihat nama akun layanan beserta peran container.serviceAgent
, artinya binding peran telah dipulihkan. Contoh:
- members:
- serviceAccount:service-1234567890@container-engine-robot.iam.gserviceaccount.com
role: roles/container.serviceAgent
Mengaktifkan akun layanan default Compute Engine
Akun layanan yang digunakan untuk node pool biasanya adalah akun layanan default Compute Engine. Jika akun layanan default ini dinonaktifkan, node Anda mungkin gagal didaftarkan ke cluster.
Untuk melihat apakah akun layanan dinonaktifkan di project Anda, Anda dapat menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud, buka halaman IAM & Admin.
gcloud
- Jalankan perintah berikut:
gcloud iam service-accounts list --filter="NAME~'compute' AND disabled=true"
Jika akun layanan dinonaktifkan, jalankan perintah berikut untuk mengaktifkan akun layanan:
gcloud iam service-accounts enable PROJECT_ID-compute@developer.gserviceaccount.com
Ganti PROJECT_ID
dengan project ID Anda.
Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah pendaftaran node.
Error 400/403: Izin edit untuk akun tidak ada
Jika akun layanan dihapus, Anda mungkin melihat error izin edit yang hilang. Untuk mempelajari cara memecahkan masalah error ini, lihat Error 400/403: Izin edit untuk akun tidak ada.
Langkah selanjutnya
Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.