はじめに
Kubetail は Kubernetes 向けの汎用ログダッシュボードで、マルチコンテナワークロードをまたいだリアルタイムのログ tail に最適化されています。Kubetail を使うと、1 つのワークロード(たとえば Deployment や DaemonSet)に含まれるすべてのコンテナのログを、1 本の時系列タイムラインにまとめて、ブラウザーやターミナルで確認できます。
主な入口は kubetail CLI ツールです。これはデスクトップ上でローカル Web ダッシュボードを起動したり、生ログをそのままターミナルへストリームしたりできます。デフォルトでは、Kubetail はクラスターの Kubernetes API を使ってログを直接取得するため、外部サービスにログを転送しなくてもすぐに使い始められます。また、コンテナのライフサイクルイベントも追跡し、コンテナの起動、停止、置き換えが発生してもログタイムラインが同期されたままになるようにします。これにより、リクエストがサービスをまたいでエフェメラルコンテナ間を移動する様子を、途切れなく追いかけることができます。
ログファイルサイズ、最後のイベントのタイムスタンプ、検索といったより高度な機能を使いたい場合は、クラスターに Kubetail API をインストールできます。これは API サーバーと、各ノードで動作する小さな Cluster Agent で構成されています(詳しくは アーキテクチャ を参照してください)。Cluster Agent は Rust で書かれており、極めて高い性能を目指して設計されています(メモリ約 3MB、CPU 約 4.00m)。Kubetail は複数のデプロイ方法もサポートしており、Web ダッシュボードをクラスター内で動かして ingress 経由で公開することも、CLI を Docker コンテナとしてデスクトップ上やクラスター内で動かすこともできます(デプロイトポロジー 参照)。
私たちの目標は、Kubernetes 向けで最も強力かつ使いやすいロギングプラットフォームを作ることです。ぜひ力を貸してください。バグを見つけた場合や提案がある場合は、GitHub Issue を作成するか、hello@kubetail.com までメールをお送りください。
ログの tail をお楽しみください。