gcloud でのGKEクラスタ一覧および切り替え
一覧
$ gcloud container clusters list
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
xxx asia-east1 1.13.7-gke.8 35.221.128.181 n1-standard-2 1.13.7-gke.8 5 RUNNING
yyy us-central1 1.13.7-gke.8 35.238.182.245 custom-2-65536-ext 1.13.7-gke.8 1 RUNNING
zzz us-central1-a 1.13.7-gke.8 35.225.158.168 n1-standard-1 1.13.7-gke.8 3 RUNNING
切り替え。
$ gcloud container clusters get-credentials $NAME --zone=$ZONE --project $PROJECT_ID
または
$ gcloud container clusters get-credentials $NAME --region=$REGION --project $PROJECT_ID
Tips: $HOME/.kube/config
に切り替え結果が書き込まれる
get-credentials
を一度しておくと、 kubectl でのコンテキスト一覧に表示されるようになる。
kubectl でのコンテキスト一覧および切り替え
一覧
$ kubectl config get-contexts
切り替え
$ kubectl config use-context $CLUSTER_NAME
Currentの表示
$ kubectl config current-context
おまけ: クラスタおよびコンテキスト一覧と削除
get-credentials
がまとめて作ってくれているが、内部的にはクラスタ設定と、コンテキスト(クラスタ+認証)設定が別々に作られている
クラスタの一覧および削除
$ kubectl config get-clusters
$ kubectl config delete-cluster $CLUSTER_NAME
コンテキストの一覧および削除
$ kubectl config get-contexts
$ kubectl config delete-context $CLUSTER_NAME
おまけ: peco および zsh completions を使った切り替え
peco や zsh completions で一覧からの選択切り替えができるようにしておくと便利
.zshrc
function gke-activate() {
name="$1"
zone_or_region="$2"
if echo "${zone_or_region}" | grep '[^-]*-[^-]*-[^-]*' > /dev/null; then
echo "gcloud container clusters get-credentials \"${name}\" --zone=\"${zone_or_region}\""
gcloud container clusters get-credentials "${name}" --zone="${zone_or_region}"
else
echo "gcloud container clusters get-credentials \"${name}\" --region=\"${zone_or_region}\""
gcloud container clusters get-credentials "${name}" --region="${zone_or_region}"
fi
}
function kx-complete() {
_values $(gcloud container clusters list | awk '{print $1}')
}
function kx() {
name="$1"
if [ -z "$name" ]; then
line=$(gcloud container clusters list | peco)
name=$(echo $line | awk '{print $1}')
else
line=$(gcloud container clusters list | grep "$name")
fi
zone_or_region=$(echo $line | awk '{print $2}')
gke-activate "${name}" "${zone_or_region}"
}
compdef kx-complete kx
kx [TAB]
で補完が表示され、選択すると切り替え。
もしくは kx[ENTER]
とすると peco で絞り込み検索ができます。