Memecahkan masalah penyiapan tingkat fleet
Dokumen ini berisi petunjuk pemecahan masalah untuk penyiapan tingkat perangkat GKE Identity Service.
Menyelesaikan masalah penyiapan tingkat fleet
Untuk menyelesaikan masalah yang mungkin terjadi saat menyiapkan perangkat Anda, ikuti petunjuk berikut:
1. Memvalidasi apakah GKE Identity Service diaktifkan
Untuk memvalidasi apakah GKE Identity Service sudah diaktifkan untuk project Anda, jalankan perintah berikut:
$ gcloud container fleet identity-service describe
Jika Anda tidak melihat error apa pun, GKE Identity Service 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, hal itu menunjukkan bahwa GKE Identity Service tidak diaktifkan dengan benar untuk fleet Anda saat menyiapkan fitur tersebut.
Solusi: Guna memastikan fitur ini diaktifkan untuk project Anda, lihat petunjuk di Mengonfigurasi cluster untuk GKE Identity Service.
2. Melihat status GKE Identity Service
Untuk melihat status GKE Identity Service 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 untuk setiap cluster yang didaftarkan ke fleet. Layanan Identitas GKE dikonfigurasi pada setiap cluster menggunakan konfigurasi ini.membershipStates
menunjukkan status GKE Identity Service saat ini di setiap cluster, termasuk konfigurasi penyedia identitas yang relevan dan error yang mungkin terjadi selama penyiapan.
Untuk memecahkan masalah dalam 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 di fleet,
outputnya 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 GKE Identity Service dalam cluster, periksa hal berikut:
Nilai
state
adalahOK
: Hal ini menunjukkan bahwa tidak terjadi error saat mengonfigurasi GKE Identity Service di cluster dengan konfigurasi yang ditentukan dimembershipSpecs
.Jika konfigurasi cluster yang sedang Anda pecahkan (misalnya
helloworld
) berbeda dimembershipSpecs
danmembershipStates
, kemungkinan Anda telah memperbarui konfigurasi untuk cluster tersebut. Tunggu beberapa menit hingga GKE Identity Service menerapkan perubahan pada cluster dan periksa status kembali.Jika konfigurasi cluster yang sedang Anda pecahkan (misalnya,
helloworld
) sama dimembershipSpecs
danmembershipStates
, berarti GKE Identity Service telah dikonfigurasi dengan benar.Kolom
state
adalahERROR
: Ini menunjukkan bahwa ada error saat mengonfigurasi GKE Identity Service di cluster dengan konfigurasi yang ditentukan di bagianmembershipSpecs
.Untuk mengatasi masalah ini, lihat Memecahkan masalah umum. Setelah mengikuti 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 perangkat untuk GKE Identity Service mendukung hal berikut:
Update konfigurasi pada cluster agar 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 saat 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 saat Anda tidak memiliki peran gkehub.admin
pada project yang digunakan.
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 non-unik ada dalam konfigurasi identitas
Masalah ini terjadi saat konfigurasi GKE Identity Service 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 jika ClientConfig dikonfigurasi dengan beberapa konfigurasi jenis google
.
Pesan error
configuration contains multiple identity providers of type 'google'
Solusi
Bagian spec/authentication
pada 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.
Terjadi 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 mengatasi masalah ini.
Terjadi error saat mengupdate GKE Identity Service ClientConfig
Masalah ini terjadi saat terjadi error dalam memperbarui ClientConfig di cluster.
Pesan error
Error updating AIS ClientConfig: ERROR_REASON
Solusi
Gunakan detail yang ditampilkan di ERROR_REASON>
untuk mengatasi masalah ini.
ClientConfig tidak ada di cluster
Masalah ini terjadi jika ClientConfig, yang harus dibuat saat menginstal GKE Identity Service, tidak ada di cluster. ClientConfig yang tidak ada menunjukkan bahwa GKE Identity Service belum diinstal dengan benar di cluster.
Pesan error
ClientConfig CR not present, expected to be created when AIS was installed
Solusi
Resource GKE Identity Service 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 Anda atau dukungan Google Cloud.
Pod GKE Identity Service belum dimulai
Masalah ini terjadi saat pod GKE Identity Service berada dalam status pending
.
Pesan error
GKE Identity Service pod is not running (pending)
Solusi
Masalah ini akan teratasi secara otomatis dalam beberapa menit, setelah itu pod GKE Identity Service
beralih ke status running
.