はじめに
k9sを使ってクラスターとNamespaceを簡単に素早く切り替えられる設定を紹介します。
k9sのインストールやざっくりした使い方に関しては下記を参照してください。

設定内容
設定するのは下記の2つになります。
- ホットキーの設定(
hotkey.yml
) - お気に入りのNamespaceの設定(
config.yml
)
ホットキーで対象のクラスタを含むコンテキストに切り替えて、お気に入り設定した番号でNamespaceを切り替えます。
それぞれの設定ファイルが配置されるパスは、k9s info
から確認してください。
Macの場合は下記のようになると思います。
❯ k9s info
____ __.________
| |/ _/ __ \______
| < \____ / ___/
| | \ / /\___ \
|____|__ \ /____//____ >
\/ \/
Configuration: ~/Library/Application Support/k9s/config.yml
Logs: /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/k9s-masa.log
Screen Dumps: /var/folders/v7/jvzb8y655l37rx9g_tgmb3p80000gn/T/k9s-screens-masa
ホットキーの設定
まずはホットキーの設定(hotkey.yml
)をします。
クラスタを切り替えたいだけなので、切り替えたいクラスタとなるようなコンテキストをホットキーとして設定します。
全てのコンテキストに対してホットキーを設定してもいいのですが、数が多くなるとホットキーの設定と覚えるのが大変になるので、クラスタを切り替える目的でコンテキストを選択しています。
下記のようにホットキーとctx [context name]
を設定します。
hotKey:
shift-1:
shortCut: Shift-1
description: Switch Context to minikube
command: ctx minikube
shift-2:
shortCut: Shift-2
description: Swtich Context to docker-desktop
command: ctx docker-desktop
お気に入りのNamespaceの設定
次にconfig.yml
でお気に入りのNamespaceを登録します。
lockFavorites
をtrue
にし、favorites
に設定したいNamespaceを列挙します。上から数字キーの"1"、"2"、"3"、、、とキーが割り当てられます。
k9s:
...
clusters:
docker-desktop:
namespace:
active: kube-system
lockFavorites: true
favorites:
- default
- kube-public
- kube-system
- kube-node-lease
view:
active: pod
...
minikube:
namespace:
active: default
lockFavorites: true
favorites:
- default
- kube-public
view:
active: pod
...
切り替え方法
実際に切り替える場合の手順について紹介します。
まずは「?
」でホットキーの確認をしてみます。
まずは現在のコンテキストを確認するとconfig.yml
で設定したNamespaceが登録されているのがわかります。
「shift+2
」でコンテキストが切り替わり、登録していたNamespaceも確認できます。
最後に切り替えたい数字キーを入力すると、簡単にNamespaceが切り替わります。
これで複数クラスタで複数Namespaceを切り替えるのが楽になりました。