k8s Pod から Syslog サーバーに Apache ログを転送する

k8s Pod から Syslog サーバーに Apache ログを転送する

私はKubernetes初心者ですが、ログ収集には複数の方法があることは知っています。しかし、私のシナリオについて具体的に質問しています。Syslog xyz.com ポート 8090 があります。今、ポッドがサーバー xyz.com にログを送信するようにしたいと考えています。これを実現する最善の方法は何ですか? すべてのデプロイメント ポッドからのログをカスタマイズする一元的な方法はありますか? それとも、コンテナで rsyslog サービスを構成してコンテナを再構築する必要がありますか? または、皆さんが提案できるベスト プラクティスはありますか?

ありがとう、ユースフ

答え1

参照するスディール・チャマルティITNEXTに掲載されたMediumブログKubernetesでRsyslogサーバーを実行するSyslog サーバーにログをストリーミングするには、以下の手順に従います。

  1. イメージをビルドしてDockerレジストリにプッシュする
  2. 別の名前空間を作成する
  3. 永続ストレージを作成する
  4. Rsyslog デプロイメントの作成
  5. デプロイメントをサービスに公開する
  6. NLBにサービスを公開する
  7. テストとスケーリングを行う

ぜひご覧くださいGithubアーカイブの上ロギング アーキテクチャ kubernetes-rsyslog-loggingKubernetesの設定を提供し、集中ログソリューションを確立します。ジョン・スターリッチのチュートリアルSyslog を使用した Kubernetes ログ転送

として @ヒバリコメントで言及されている、ログエージェントでサイドカーコンテナを使用する広く使用されています。アプリケーションに依存しないため、より柔軟なソリューションとなり、2 つの異なる方法で実装できることに注意してください。

関連情報