Kubernetes バージョン 1.22 では、Kubernetes プロジェクトは、kubectl
コマンドライン ツールなどのクライアントが Kubernetes API サーバーにアクセスするために使用する組み込みの認証メカニズムをサポートしています。組み込みの認証メカニズムは、Kubernetes 1.26 で削除される予定です。詳細については、GitHub PR 102181 をご覧ください。
この削除は、クラスタにデプロイされているオペレータには影響せず、Kubernetes サービス アカウントを使用して API サーバーと通信します。
どうすればよいですか。
GKE は、更新された認証プラグイン gke-gcloud-auth-plugin
をリリースしました。このプラグインは、client-go 認証情報プラグイン フレームワークを使用して、GKE クラスタと通信するための認証トークンを提供します。
コマンドライン クライアントをバージョン 1.26 以降に更新する前に、プラグインをインストールする必要があります。プラグインをインストールしないと、次のようなエラー メッセージが表示されます。
手順については、必要なプラグインをインストールするをご覧ください。
エラー例: No auth provider found
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
panic: no Auth Provider found for name gcp
エラー例: Executable gke-cloud-auth-plugin not found
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.