アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

GCP にて他プロジェクトの GKE クラスタを使えるようにする

GCP の話。GCP にはプロジェクトという概念があって、普段自分が使ってるプロジェクトではない他のプロジェクト内の GKE を操作できるようにするためのメモ。

  • gcloud auth を service account で行う
  • gcloud config set でプロジェクトをセットする
$ gcloud auth activate-service-account [a-z]+@<PROJECT>.iam.gserviceaccount.com --key-file=<FILE_NAME>.json
$ gcloud config set project <PROJECT>

これで gcloud を使って他プロジェクトを扱うことが可能。

今度は gcloud container コマンドを使って操作したいクラスタへ接続する。まずは list を使って一覧を取得。

$ gcloud container clusters list
NAME               LOCATION         MASTER_VERSION  MASTER_IP       MACHINE_TYPE   NODE_VERSION   NUM_NODES  STATUS

といった感じで表示される。該当のクラスタから credential を取得する。

$ gcloud container clusters get-credentials <CLUSTER_NAME> --zone <LOCATION>

あとは kubectl config get-contexts を実行するなどして切り替えたいコンテキストを選べばいい。

細かいことは下記のリンクにも書かれてる。

cloud.google.com