最近 kubernetes の使用を開始し、集中ログを構成する方法を検討しています。ほとんどのポッドでは、アプリケーション自体が直接 GELF エンドポイント (logstash) にログを記録しますが、ログを取得する必要がある「管理」ポッドもいくつかあります。
以前、Docker Swarm を使用していたときは、ログ ドライバー (および関連する構成) を構成ファイルに追加するだけでした。ただし、Kubernetes にはそのオプションがないようです。
Fluentd を使用して /var/log/containers から直接ログを読み取ることを検討しましたが、ここでいくつかの問題に遭遇しました。
どの Pod を logstash に記録するかを指定する簡単な方法はないようです。フィルターなどを作成できると思いますが、これは今後はあまり保守できないようです。個々のポッドで注釈を使用する方が賢明なようです。
/var/log/containers のログは、GELF ではなく、json ファイルのログ形式です。
kubernetes で組み込みの Docker ログ ドライバーをポッドごとに使用して、GELF エンドポイントに簡単にログを記録する方法はありますか?