🎛️
複数のkubernetes Clusterを切り替えて使う方法
- 初めにcurrent-contextを保存するためのダミーコンフィグを作成
cat <<EOL> ~/.kube/config
apiVersion: v1
kind: Config
EOL
- ログイン時にKUBECONFIG環境変数が設定されるようにbash_profileを設定
cat <<EOL> /etc/profile.d/kubeconfig.sh
export KUBECONFIG=~/.kube/config:$(echo $(ls ~/.kube/config.d/*) | sed 's/ /:/g')
EOL
- 環境毎の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
- bashを立ち上げ直す。
bash
- 作業したいContextに切り替える。
kubectl config use-context <context-name>
- 現在のContextを確認する。
kubectl config current-context
KUBECONFIG環境変数と異なり、use-contextで設定したcontextは~/.kube/config
ファイルに保存されるので複数ターミナル開いていてもまとめて変更される。慣れないうちは環境を間違えて作業するリスクがあるので注意。
Discussion