MacからGKEを操作するための認証メモ


概要

  • 作業端末(Mac)からGKEにアクセスしたい
  • Macから認証情報を取得できなかった
  • CloudShellからは認証情報取得可能
  • 権限周りが問題と推測
  • コマンドは以下

詳細

Macの場合

$ gcloud container clusters get-credentials cluster-1 --zone asia-northeast1-a
Fetching cluster endpoint and auth data.
ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/[PROJECT_NAME]/zones/asia-northeast1-a/clusters/[CLUSTER_NAME]".

CloudShellの場合

$ gcloud container clusters get-credentials cluster-1 --zone asia-northeast1-a
Fetching cluster endpoint and auth data.
kubeconfig entry generated for cluster-1.

原因

  • GoogleCloudSDKに認証をしていなかった

Google Cloud SDKの認証

$ gcloud auth login
Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?code_challenge=...
  • ここでユーザアカウント(Googleアカウント)かサービスアカウント(GCP用Googleアカウント)を選んで認証する必要がある
  • ここではサービスアカウントを選択
  • ユーザアカウントを選択してみたがgcloudコマンドによる認証は失敗した

  • 許可を押す

$ gcloud container clusters get-credentials cluster-1 --zone asia-northeast1-a
Fetching cluster endpoint and auth data.
kubeconfig entry generated for cluster-1.

結論

  • MACからGKEを操作するにはまず”gcloud auth login”でCloudSDK認証をする事
  • その際はサービスアカウントでログインする必要がある(たぶん)

参考

公式:認証について