Pada Kubernetes versi 1.22, project Kubernetes tidak lagi menggunakan mekanisme autentikasi bawaan yang digunakan oleh klien, seperti alat command line kubectl
untuk mengakses server Kubernetes API. Mekanisme autentikasi bawaan dijadwalkan untuk dihapus di Kubernetes 1.26. Untuk mengetahui konteksnya, lihat GitHub PR 102181.
Penghapusan ini tidak memengaruhi operator yang di-deploy di cluster dan menggunakan akun layanan Kubernetes untuk berkomunikasi dengan server API.
Apa yang perlu Anda lakukan?
GKE telah merilis plugin autentikasi yang telah diupdate, yaitu gke-gcloud-auth-plugin
. Plugin ini menggunakan framework Plugin Kredensial client-go untuk memberikan token autentikasi agar dapat berkomunikasi dengan cluster GKE.
Anda harus menginstal plugin sebelum mengupdate klien command line ke versi 1.26 dan yang lebih baru. Jika tidak menginstal plugin, Anda akan melihat pesan error seperti berikut.
Untuk mengetahui petunjuknya, lihat Menginstal plugin yang diperlukan.
Contoh error: Penyedia autentikasi tidak ditemukan
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
panic: no Auth Provider found for name gcp
Contoh error: gke-cloud-auth-plugin yang dapat dieksekusi tidak ditemukan
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
It looks like you are trying to use a client-go credential plugin that is not installed.
To learn more about this feature, consult the documentation available at:
https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
Install gke-gcloud-auth-plugin for use with kubectl by following \
https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke.