個人的におすすめする kubectl の plugin
みなさん素敵な Kubernetes ライフを満喫していらっしゃるでしょうか?
Kubernetes ライフに欠かせないのが kubectl
なのですが、様々な plugin が世の中には存在しています。これらの plugin を使いこなすことで、Kubernetes ライフが充実することでしょう。今日はそんな plugin をいくつか紹介していこうと思います。
kubectl-grep
これは kubectl get xxx ... | grep hogehoge
のようなことを一発でやってくれるものです。label とかで get の出力を filter することは出来るんですけど、時には grep したい場合ってありますよね?
直感的に叩くことが出来るのでとても便利です。現在のところは grep 対象に daemonsets/deployments/pods/nodes/hpas/statefulsets
が指定できるようです。
kubectl-debug
kubernetes 1.16 から Ephemeral Container の機能がアルファで搭載されました。その機能を使う際に必要になってくる plugin です。
可動している Pod に対して一時的な debug 用のコンテナを差し込むことで、アプリケーション等が稼働する実際のコンテナにはそれらのツールを仕込んで置かなくてもよくなります。
まだアルファ機能なので仕様の変更があるかもしれません。また将来的には kubectl
に取り込まれる可能性もあると思います。今後の動きに注目ですね。
kubectl-custom-cols
普段運用していると普通に get しただけでは表示されない項目を確認したくなることがあります。例えば Pod の qos-class
とか。
-o jsonpath
とかで頑張ってもいいんですが、こういうのを plugin 化しておくと便利ですよね。そんな plugin になっています。
この plugin 自体は shell
で出来ていて、中身は実は custom-columns-file
を指定しているだけなのですが、この使い方を覚えるという意味でも中身を覗いてみてはいかがでしょうか。
outdated
現在動いているコンテナの image が最新とどれだけ離れているか確認することができる plugin です。定期的に使用 image を確認するといった仕組みを入れたいと思っている方は検討してみてはいかがでしょうか。
表示も緑が最新で赤が古いといったようにわかりやすくてとてもいいですね。
kubectl-free / kubectl-resources
最後は Pod の resrouces の limits/requests
を表示する plugin の紹介です。
2つ紹介しましたが、ほぼほぼ同じ plugin になってます。単に get だけだと limits/requests
は表示してくれないので describe とか jsonpath とかを使わないといけないのが面倒くさいですよね。
kubectl の plugin をいくつか紹介させて頂きました。(自分のも最後入ってますが😋)
kubectl の plugin は shell
でも作れるので、まずは簡単なものから作ってみてはいかがでしょうか。いろいろ便利な pluginのアイデアが出てきたら今後も頑張って作って公開していこうと思います。また、これ便利だよっていうのあれば是非教えてくださいね。