Verworfenes Authentifizierungs-Plug-in für Kubernetes-Clients


In Kubernetes Version 1.22 wurde im Kubernetes-Projekt der integrierte Authentifizierungsmechanismus eingestellt, der von Clients wie dem kubectl-Befehlszeilentool für den Zugriff auf den Kubernetes API-Server verwendet wird. Der integrierte Authentifizierungsmechanismus ist zum Entfernen in Kubernetes 1.26 geplant. Weitere Informationen finden Sie unter GitHub PR 102181.

Dieser Vorgang wirkt sich nicht auf Operatoren aus, die im Cluster bereitgestellt werden und Kubernetes-Dienstkonten für die Kommunikation mit dem API-Server verwenden.

Was sollten Sie tun?

GKE hat das aktualisierte Authentifizierungs-Plug-in gke-gcloud-auth-plugin veröffentlicht. Dieses Plug-in verwendet das Framework client-go-Credential Plugins, um Authentifizierungstokens für die Kommunikation mit GKE-Clustern bereitzustellen.

Sie müssen das Plug-in installieren, bevor Sie Ihre Befehlszeilenclients auf Version 1.26 und höher aktualisieren. Wenn Sie das Plug-in nicht installieren, erhalten Sie eine Fehlermeldung ähnlich der folgenden.

Eine Anleitung finden Sie unter Erforderliche Plug-ins installieren.

Beispielfehler: Kein Authentifizierungsanbieter gefunden

Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found

panic: no Auth Provider found for name gcp

Beispielfehler: Ausführbares gke-cloud-auth-plugin wurde nicht gefunden

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.