Fluentd のサイドカーコンテナからの出力を Aggregator に Forward するサンプルです。
事前に、以下の2つのイメージをビルドしておく必要があります。
ローカルにイメージを保存するか、もしくはクラウドレポジトリに登録しておく必要があります。 gcr.io のコンテナレジストリ以外を使う場合は、イメージのパスを書き換えてください。
aggregator
という名前で、サービスアカウントを発行し、ストレージオブジェクトの作成権限を与えてください。
このアカウントが適切に設定されていないと、GCS へのバケット作成に失敗し、エラーとなります。
make
Pod 内に2つのコンテナを起動します。
- logger コンテナは、
/var/log/app.log
へログローテートを行いながらログを出力し続けます。 - sidecar コンテナは、
/var/log/app.log
を監視し、得たログを Aggregator に Forward します。 - Pod は 3 つ起動されます。
Pod 内に1つのコンテナを起動します。
- aggregator コンテナは、GCS へローテートを行いながらログを出力し続けます。
- aggregator コンテナは、標準出力へも同時に出力を行います。
Fluentd の Aggregator コンテナの最終出力結果は以下のように確認できます。
Pod の名前は、kubectl get pod
で得たものに置き換えてください。
kubectl logs aggregator-59cb4fdbc6-6kd4s
make clean