ワイがお世話になっているKubernetes関連のツール達
Kubernetes関連のツールで普段よくお世話になっているツール達を紹介します。 ここには無いオススメツールがあればぜひtwitter: @tomiokasyogoに教えていただけるととても喜びます。
TL;DR
- https://github.com/derailed/k9s
- https://github.com/jonmosco/kube-ps1
- https://github.com/ahmetb/kubectx
- https://github.com/wercker/stern
- https://kube-forwarder.pixelpoint.io/
k9s
UIがリッチなkubernetes用のCLI。brewなら
$ brew install derailed/k9s/k9s
でインストール出来る。
起動する時には基本的にこれ。
$ k9s
Deployment、Pod、Logなどすべてのリソースをいい感じのUIで確認できて、vimライクなコマンド操作でスムーズに操作が可能 ワードでの絞り込みも簡単にかけられる。また設定ファイルを書くとUIをカスタマイズすることも可能
kupe-ps1
自分が今、どのクラスタ・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
)
kubectx
kubernetesのクラスタをコマンド一つで切り替えられる macOSなら
$ brew update $ brew install kubectx
で入れられる
ただ、kubect
まで kubectl
までと同じで補完が微妙なので私は alias kx="kubectx"
のエイリアスに設定している
kx
まで打って、あとはTab連打で以下のようにpecoが接続先クラスタを出してれる。
stern
「ワイはただ、ログをええ感じにgrepしたいだけなんや...!」という人におすすめ。
複数Pod、Deploymentを跨いだログも簡単に出せるのでログを見るときはだいたいsternを使ってる option等も豊富で色々できるが、とりあえず
$ stern ${Deployment名} |grep xxxx
だけでも十分なくらい優秀。
kube-forwarder
これまでCLIが多かったが、これはGUI。 port-forward先をコンテキストごとに複数登録できて、使いたいときにはボタン一つで簡単にport-forwardを開始できる。 makefileとかで頑張ってる人はこれに乗り換えると幸せになれるかも。 ただgrpcで使うと微妙にうまく動作しないことがある。
https://github.com/txn2/kubefwdGUIはやだよ、CLIじゃ無いと無理!って人は kubefwdとかいいんじゃないんでしょうか