web-dev-qa-db-ja.com

Kubernetesのコンテナからstdoutをキャプチャするようにカスタムプロセスを設定する方法

Kubernetes/Amazon EKSを使用して、メインのコンテナ化されたアプリケーションからロギング/ stdioをキャプチャできるカスタムのコンテナ化されたプロセスを設定する方法はありますか?

背景:fluentdやlogstashなどの事前にパッケージ化されたソリューションを使用する代わりに、stdinから読み取り、目的の場所に書き込むことができるアプリケーションがすでにあります。Kubernetesで実行されているコンテナーに接続する必要がありますどういうわけか

2

コンテナ化されたアプリケーションがstdoutstderrに書き込むものはすべて、コンテナエンジンによって処理され、どこかにリダイレクトされます。

Dockerコンテナエンジンは、これら2つのストリームをKubernetesで設定されたロギングドライバにリダイレクトして、ホストシステムの/var/log/containersの下にあるファイルにjson形式で書き込みます。これらはkubectl logsが示す同じログです

Logging at the node level

詳細およびノー​​ドロギングエージェントやサイドカーコンテナの使用などのより複雑なロギングソリューションについては、 このkubernetesドキュメント を参照してください。または、アプリケーションにログファイル/ api/backendに直接書き込むこともできます

このtimber.io ブログ投稿 には、ログの検索、ログの設定、および github のマニフェストの例を使用したログアウトの出荷に関する完全なウォークスルーが含まれています。

1
user19702