開発環境と本番環境
Kubetail は開発環境でも本番環境でも有効に機能しますが、そこで得られる価値はそれぞれ少し異なります。
分散システムのデバッグが難しいのは、1 つのユーザーリクエストが多くのサービスをまたぐことがあるからです。Kubetail はまさにこのシナリオのために設計されています。Kubetail を使えば、複数のサービスにまたがるログを、ワークロード内のすべてのコンテナを横断した時系列タイムラインとしてまとめて表示し、リクエストがシステム内をどう流れるかをリアルタイムで追うことができます。
Kubetail はコンテナのライフサイクルイベントを追跡するため、コンテナが再起動したり置き換えられたりしても、ログストリームは途切れません。これにより、個別の Pod ログを組み合わせて事象を再構築しなくても、リクエストの経路をエンドツーエンドでたどり、問題を再現しやすくなります。
開発環境で Kubetail を使い始めるには、kubetail CLI をインストールし、kubetail serve を実行してブラウザーでログを表示するか、kubetail logs を実行してターミナルへログを流すだけです(クイックスタート 参照)。クラスター側のインストールは不要で、ログ転送パイプラインを事前に構成する必要もありません。
Kubetail は本番環境でも自然にスケールします。トラフィックフローが期待どおりに動いていることを確認するのに使えるほか、サービスログをリアルタイムで spot check し、エラーが出ていないかを確認する用途にも使えます。
既存のロギングスタックを補完する
Section titled “既存のロギングスタックを補完する”Kubetail は完全なオブザーバビリティプラットフォームの置き換えではありません。Datadog、Grafana、ClickHouse、VictoriaMetrics、Honeycomb、Dash0、Loki のようなツールは、長期的なログ保持、アラート、メトリクス相関、履歴分析を大規模に行うために設計されています。Kubetail の強みはリアルタイムの可視性とライブログ tail にあり、保存やクエリに最適化されたプラットフォームとうまく組み合わせて使えます。
よくある使い方としては、Kubetail をライブデバッグに使い、それ以外はメインのロギングプラットフォームに任せる、というものです。メトリクスダッシュボード、アラート、インシデント後の分析はそちらで行います。
障害時のデバッグ
Section titled “障害時のデバッグ”Kubetail には、インシデント対応中に重要な運用上の利点があります。必要なのは kube-apiserver に到達できることだけです。外部のロギングサービスが稼働していることにも、リモートストレージバックエンドが応答していることにも依存しません。クラスターが炎上していてオブザーバビリティ基盤が劣化しているときでも、Kubetail はコンテナがまさに今何をしているかをライブで見せてくれます。