KubernetesKubernetesのログビューアLogbookを作りました。Kubernetesやその周辺ツールは船に関する名前から由来されることが多いです。航海日誌のことを指します。航海日誌のようにログをパラパラとログを閲覧できる、そんなツールを作りました。github.comなぜ作ったの?Webサービスにおいてログは大変重要なものです。logsコマンドがあります。logsを何往復もすることが割と面倒です(自分だけかも知れませんが)。複数コンテナにまたがるログをtailできるsternは大変便利なツールです。時として、特定のコンテナのログをじっくり眺めたいときがあります。そんなツールが欲しくてlogbookを作りました。getでインストールできます。github.com/ueokande/logbook起動はkubeconfigとnamespaceを指定できます。NAMESPACE]よく使うキーバインドは以下のとおりです。APIKubernetesとの通信はk8s.io以下で配布されてるクライアントライブラリを使いました。ログ取得のAPIも公式で提供されてるので簡単に取得できました。デバッグ用にKubernetesクラスタが欲しかったので、今回kindというツールを試して見ました。kindはDocker上でKubernetesクラスタを容易に建てられるツールです。個人的な感想ですが、minikubeよりもトラブルが少なく使いやすという感じでした。Interface)はもう1つの技術的チャレンジです。logbookは単発のコマンドラインツールではなく、リッチなUIを描画します。使用したライブラリはtcellです。TUIライブラリの有名どころといえば、termboxとそのGo実装のtermbox-goです。現在termbox-goはメンテナンスされておらず、作者もtcellを勧めてました(ただし本人は使ったことがないらしい)。自分も初めて使ってみましたが、なかなか癖のあるAPIでした。tcellに関しては情報が共に少ないので、また時間を見つけて記事を書きたいと思います。まとめ今回初めてKubernetesの周辺ツールを作ってみました。APIは何度か触ったことはあるのですが、周辺ツールやTUIアプリケーションと新しいチャレンジが多かったです。logbookはとりあえず動くものを公開しただけなので、これから機能追加も続けていきたいと思います。(@ueokande)Webの会社のミドルウェアエンジニア。