kubectlのcontextとnamespace周りの操作をkubectxとkubensでちょっと楽する
k8sを使い始めて、kubectlコマンドばかり打っている毎日です。その中でちょっと面倒だなと感じていた点がふたつ。
- contextまわりのコマンドが覚えられない (
kubectl get contexts
とかやってしまう) - namespaceの指定(
-n hogehoge
もしくは--namespace hogehoge
)を毎コマンドごとにするのが面倒
これらの煩わしい点をちょっと楽にしてくれるツールkubectxとkubensを同僚のキム インソに教えてもらったのでシェアします。
インストール
macだとHomebrewでコマンド一発でインストール可能です。
$ brew install kubectx
これだけでkubectx
とkubens
両方のコマンドが使えるようになります。
他にも色々なインストール方法があるので、詳細はREADMEを御覧ください。
contextまわりのコマンドが覚えられない
kubectx
コマンドが便利です。
context一覧を表示
現在のcontextは他と違う色で表示されます。(上記だと一番下の〜.ap-northeast-1.eksctl.io
)
context切り替え
$ kubectx (変更先context名)
その他
他にも色々できます。まあでも上記2コマンドだけ覚えてれば十分便利ではないでしょうか。
namespaceの指定を毎コマンドごとにするのが面倒
実はkubectlコマンドだけでも、毎回のnamespaceの指定を省略することが可能です。以下コマンドでデフォルトのnamespaceを切り替えることができ、そうすると -n
もしくは--namespace
オプションなしでもそのnamespaceが使われます。
$ kubectl config set-context (context名) --namespace=(namespace名)
ですが、contextまわりのコマンドが覚えられないと言っていた私にはハードルが高い。。というわけで、代わりに kubens
コマンドを使います。
namespace一覧を表示
kubectx
同様、現在のnamespaceは他と違う色で表示されます。(上記例だとdefault)
namespace切り替え
$ kubens (変更先namespace名)
その他
他のサブコマンドもあります。
まとめ
kubectxとkubensコマンドを使ってちょっと楽する方法をご紹介しました。便利です。おすすめです。