ワイがお世話になっているKubernetes関連のツール達

Kubernetes関連のツールで普段よくお世話になっているツール達を紹介します。 ここには無いオススメツールがあればぜひtwitter: @tomiokasyogoに教えていただけるととても喜びます。

TL;DR

k9s

github.com

UIがリッチなkubernetes用のCLIbrewなら

$ brew install derailed/k9s/k9s

でインストール出来る。

起動する時には基本的にこれ。

$ k9s

Deployment、Pod、Logなどすべてのリソースをいい感じのUIで確認できて、vimライクなコマンド操作でスムーズに操作が可能 ワードでの絞り込みも簡単にかけられる。また設定ファイルを書くとUIをカスタマイズすることも可能

kupe-ps1

github.com

自分が今、どのクラスタ・namespaceを触っているかをコマンドラインに出してくれるツール。オペミスを防ぐために必須。

$ brew update
$ brew install kube-ps1

をした後に Zshなら

source /path/to/kube-ps1.sh
PROMPT='$(kube_ps1)'$PROMPT

Bashだと

source /path/to/kube-ps1.sh
PS1='[\u@\h \W $(kube_ps1)]\$ '

としておくと、Promptで今、どのクラスタを触っているかが分かる。prd, stgクラスタは赤、devなら青とかしておくとよりわかりやすい。 (下はdocker-for-desktop) f:id:tomiokasyogo:20200310224528p:plain

kubectx

github.com

kubernetesクラスタをコマンド一つで切り替えられる macOSなら

$ brew update
$ brew install kubectx

で入れられる ただ、kubect まで kubectlまでと同じで補完が微妙なので私は alias kx="kubectx"エイリアスに設定している

kxまで打って、あとはTab連打で以下のようにpecoが接続先クラスタを出してれる。 f:id:tomiokasyogo:20200310225233p:plain

stern

github.com

「ワイはただ、ログをええ感じにgrepしたいだけなんや...!」という人におすすめ。

複数Pod、Deploymentを跨いだログも簡単に出せるのでログを見るときはだいたいsternを使ってる option等も豊富で色々できるが、とりあえず

$ stern ${Deployment名} |grep xxxx

だけでも十分なくらい優秀。

kube-forwarder

kube-forwarder.pixelpoint.io

これまでCLIが多かったが、これはGUI。 port-forward先をコンテキストごとに複数登録できて、使いたいときにはボタン一つで簡単にport-forwardを開始できる。 makefileとかで頑張ってる人はこれに乗り換えると幸せになれるかも。 ただgrpcで使うと微妙にうまく動作しないことがある。

f:id:tomiokasyogo:20200310230111p:plain

https://github.com/txn2/kubefwdGUIはやだよ、CLIじゃ無いと無理!って人は kubefwdとかいいんじゃないんでしょうか

github.com