Memecahkan masalah penyiapan tingkat armada
Dokumen ini memberikan petunjuk pemecahan masalah untuk penyiapan tingkat fleet Identity Service GKE.
Menyelesaikan masalah penyiapan tingkat armada
Untuk mengatasi masalah yang mungkin terjadi saat menyiapkan armada, ikuti petunjuk berikut:
1. Memvalidasi apakah Identity Service GKE diaktifkan
Untuk memvalidasi apakah Identity Service GKE diaktifkan untuk project Anda, jalankan perintah berikut:
$ gcloud container fleet identity-service describe
Jika tidak melihat error, Identity Service GKE telah diaktifkan dan Anda dapat melanjutkan ke petunjuk berikutnya.
Error:
Identity Service Feature for project <your-project-id> is not enabled
Jika Anda melihat error ini, artinya Layanan Identitas GKE tidak diaktifkan dengan benar untuk fleet Anda saat menyiapkan fitur.
Solusi: Untuk memastikan fitur diaktifkan untuk project Anda, lihat petunjuk di Mengonfigurasi cluster untuk Identity Service GKE.
2. Melihat status GKE Identity Service
Untuk melihat status Identity Service GKE saat ini, jalankan perintah berikut:
$ gcloud container fleet identity-service describe
Output perintah ini memiliki dua bagian berikut:
membershipSpecs
berisi konfigurasi penyedia identitas yang telah Anda tentukan untuk setiap cluster yang terdaftar ke fleet. Identity Service GKE dikonfigurasi di setiap cluster menggunakan konfigurasi ini.membershipStates
menampilkan status Identity Service GKE saat ini di setiap cluster, termasuk konfigurasi penyedia identitas yang relevan dan error yang mungkin terjadi selama penyiapan.
Untuk memecahkan masalah di cluster, di bagian membershipStates
, telusuri cluster dan cari kolom berikut:
- Kolom
state
:membershipStates -> <cluster-identifier> -> identityservice -> state
- Kolom
failureReason
:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Contoh
Jika Anda memiliki dua cluster helloworld
dan foobar
yang terdaftar ke fleet,
output akan memiliki struktur berikut:
Identity Service Feature:
createTime: '222-11-10T23:05:6.146566392Z'
membershipSpecs:
projects/<your-project-number>/locations/<location>/memberships/helloworld:
identityservice:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
projects/<your-project-number>/locations/<location>/memberships/foobar:
identityservice:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
membershipStates:
projects/<your-project-number>/location/<location>/memberships/helloworld:
identityservice:
failureReason: AIS feature does not support this cluster type
memberConfig:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
state: ERROR
state:
code: OK
updateTime: '2022-11-11T20:39:59.556176650Z'
projects/<your-project-number>/location/<location>/memberships/foobar:
identityservice:
memberConfig:
authMethods:
- name: oidc
oidcConfig:
clientId: id
issuerUri: https://accounts.google.com
... other fields
state: OK
state:
code: OK
updateTime: '2022-11-11T20:39:59.556176650Z'
name: projects/<project-number>/locations/global/features/identityservice
updateTime: '2022-11-11T20:40:31.859321901Z'
3. Memverifikasi status cluster
Untuk memverifikasi status Identity Service GKE di cluster, periksa hal berikut:
Nilai
state
adalahOK
: Ini menunjukkan bahwa tidak ada error yang terjadi saat mengonfigurasi Identity Service GKE di cluster dengan konfigurasi yang ditentukan di bagianmembershipSpecs
.Jika konfigurasi untuk cluster yang Anda pecahkan masalahnya (misalnya,
helloworld
) berbeda dimembershipSpecs
danmembershipStates
, kemungkinan Anda telah memperbarui konfigurasi untuk cluster tersebut. Tunggu beberapa menit hingga Identity Service GKE menyebarkan perubahan ke cluster dan periksa statusnya lagi.Jika konfigurasi untuk cluster yang Anda pecahkan masalahnya (misalnya,
helloworld
) sama dimembershipSpecs
danmembershipStates
, berarti Identity Service GKE telah dikonfigurasi dengan benar.Kolom
state
adalahERROR
: Hal ini menunjukkan bahwa ada error saat mengonfigurasi Identity Service GKE di cluster dengan konfigurasi yang ditentukan di bagianmembershipSpecs
.Untuk mengatasi masalah tersebut, lihat Memecahkan masalah umum. Setelah mengikuti langkah-langkah pemecahan masalah yang diperlukan, tunggu beberapa menit, lalu periksa status lagi.
Memecahkan masalah umum
GKE Identity Service API tidak diaktifkan
Masalah ini terjadi jika GKE Identity Service API tidak diaktifkan.
Pesan error
anthosidentityservice.googleapis.com is not enabled
Solusi
Untuk mengaktifkan API, jalankan perintah berikut:
$ gcloud services enable anthosidentityservice.googleapis.com
Jenis cluster tidak didukung
Masalah ini terjadi saat Anda menggunakan jenis cluster yang tidak didukung.
Pesan error
GKE Identity Service feature does not support this cluster type
Solusi
Untuk informasi tentang jenis cluster yang didukung, lihat jenis cluster atau hubungi dukungan Google Cloud untuk permintaan jenis cluster baru .
Protokol yang tidak didukung ditemukan dalam konfigurasi
Masalah ini terjadi saat konfigurasi identitas yang telah Anda terapkan ke cluster berisi protokol yang tidak didukung.
Pesan error
unsupported protocol found in configuration, aborting reconciliation.
Solusi
Penyiapan tingkat fleet untuk Identity Service GKE mendukung hal berikut:
Perbarui konfigurasi di cluster sehingga hanya berisi protokol yang didukung di atas. Untuk mengedit konfigurasi, jalankan perintah berikut:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Ganti CLUSTER_KUBECONFIG
dengan jalur ke file kubeconfig untuk cluster. Jika ada beberapa konteks dalam kubeconfig, konteks saat ini akan digunakan. Anda mungkin perlu mereset konteks saat ini ke cluster yang benar sebelum menjalankan perintah.
Cluster tidak memiliki konfigurasi identitas
Masalah ini terjadi jika tidak ada konfigurasi yang diterapkan ke cluster Anda.
Pesan error
Authentication configuration is not present for this membership
Solusi
Terapkan konfigurasi identitas ke cluster dengan mengikuti petunjuk di Mengonfigurasi cluster.
Izin IAM admin GKE Hub tidak ada
Masalah ini terjadi jika Anda tidak memiliki peran gkehub.admin
di project yang Anda gunakan.
Pesan error
PERMISSION_DENIED: Permission 'gkehub.memberships.list' denied on '`projects//locations/ /memberships`'
PERMISSION_DENIED: Permission 'gkehub.features.get' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.delete' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.create' denied on '`projects//locations/global/features/identityservice`'
Solusi
Pemilik project dengan ID project_id
harus menjalankan perintah berikut:
gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin
Ganti USER_ID
dengan Akun Google Anda.
Penyedia identitas yang tidak unik ada dalam konfigurasi identitas
Masalah ini terjadi jika konfigurasi Identity Service GKE untuk cluster
memiliki nilai name
yang sama untuk beberapa penyedia identitas.
Pesan error
Configuration contains multiple identity providers with the same name
Solusi
Ganti nama atau hapus entri duplikat dari konfigurasi Anda.
Beberapa penyedia jenis google
ada dalam konfigurasi identitas
Masalah ini terjadi saat ClientConfig dikonfigurasi dengan beberapa konfigurasi jenis google
.
Pesan error
configuration contains multiple identity providers of type 'google'
Solusi
Bagian spec/authentication
dari konfigurasi dapat berisi maksimal satu konfigurasi jenis google
.
Perbarui konfigurasi di cluster agar tidak memiliki lebih dari satu konfigurasi jenis google
. Untuk mengedit konfigurasi, jalankan perintah berikut:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Ganti CLUSTER_KUBECONFIG
dengan jalur ke file kubeconfig untuk cluster. Jika ada beberapa konteks dalam kubeconfig, konteks saat ini akan digunakan. Anda mungkin perlu mereset konteks saat ini ke cluster yang benar sebelum menjalankan perintah.
Error saat mengambil definisi resource kustom ClientConfig
Masalah ini terjadi saat terjadi error saat mengambil definisi resource kustom ClientConfig dari cluster.
Pesan error
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Solusi
Gunakan detail yang ditampilkan di ERROR_REASON
untuk menyelesaikan masalah ini.
Error saat mengupdate ClientConfig Identity Service GKE
Masalah ini terjadi saat ada error dalam mengupdate ClientConfig di cluster.
Pesan error
Error updating AIS ClientConfig: ERROR_REASON
Solusi
Gunakan detail yang ditampilkan di ERROR_REASON>
untuk menyelesaikan masalah ini.
ClientConfig tidak ada di cluster
Masalah ini terjadi jika ClientConfig, yang harus dibuat saat menginstal Identity Service GKE, tidak ada di cluster. ClientConfig yang tidak ada menunjukkan bahwa Identity Service GKE belum diinstal dengan benar di cluster.
Pesan error
ClientConfig CR not present, expected to be created when AIS was installed
Solusi
Resource Identity Service GKE di cluster mungkin telah dihapus secara tidak sengaja. Anda dapat mencoba membuat cluster baru. Jika Anda melihat error yang sama di cluster baru, hubungi administrator cluster atau dukungan Google Cloud.
Pod GKE Identity Service tidak dimulai
Masalah ini terjadi saat pod Identity Service GKE berada dalam status pending
.
Pesan error
GKE Identity Service pod is not running (pending)
Solusi
Masalah ini akan otomatis teratasi dalam beberapa menit, setelah itu pod Identity Service GKE
akan beralih ke status running
.