Kubernetes クライアント用の非推奨の認証プラグイン


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.