Kubernetes/Amazon EKSを使用して、メインのコンテナ化されたアプリケーションからロギング/ stdioをキャプチャできるカスタムのコンテナ化されたプロセスを設定する方法はありますか?
背景:fluentdやlogstashなどの事前にパッケージ化されたソリューションを使用する代わりに、stdinから読み取り、目的の場所に書き込むことができるアプリケーションがすでにあります。Kubernetesで実行されているコンテナーに接続する必要がありますどういうわけか。
コンテナ化されたアプリケーションがstdout
とstderr
に書き込むものはすべて、コンテナエンジンによって処理され、どこかにリダイレクトされます。
Dockerコンテナエンジンは、これら2つのストリームをKubernetesで設定されたロギングドライバにリダイレクトして、ホストシステムの/var/log/containers
の下にあるファイルにjson形式で書き込みます。これらはkubectl logs
が示す同じログです
詳細およびノードロギングエージェントやサイドカーコンテナの使用などのより複雑なロギングソリューションについては、 このkubernetesドキュメント を参照してください。または、アプリケーションにログファイル/ api/backendに直接書き込むこともできます
このtimber.io ブログ投稿 には、ログの検索、ログの設定、および github のマニフェストの例を使用したログアウトの出荷に関する完全なウォークスルーが含まれています。