🎛️

複数のkubernetes Clusterを切り替えて使う方法

2024/11/20に公開
  1. 初めにcurrent-contextを保存するためのダミーコンフィグを作成
cat <<EOL> ~/.kube/config
apiVersion: v1
kind: Config
EOL
  1. ログイン時にKUBECONFIG環境変数が設定されるようにbash_profileを設定
cat <<EOL> /etc/profile.d/kubeconfig.sh
export KUBECONFIG=~/.kube/config:$(echo $(ls ~/.kube/config.d/*) | sed 's/ /:/g')
EOL
  1. 環境毎のkubeconfigファイルをすべて~/.kube/config.d/フォルダの中に入れる。
ls -l ~/.kube/config.d/
total 16
drwxr-xr-x. 2 root root   42 Nov 20 00:58 .
drwxr-x---. 4 root root   49 Nov 20 00:43 ..
-rw-r--r--. 1 root root 5698 Nov 20 00:58 example1.yaml
-rw-r--r--. 1 root root 5686 Nov 20 00:59 example2.yaml
  1. bashを立ち上げ直す。
bash
  1. 作業したいContextに切り替える。
kubectl config use-context <context-name>
  1. 現在のContextを確認する。
kubectl config current-context

KUBECONFIG環境変数と異なり、use-contextで設定したcontextは~/.kube/configファイルに保存されるので複数ターミナル開いていてもまとめて変更される。慣れないうちは環境を間違えて作業するリスクがあるので注意。

Discussion