Google Container EngineにStackdriverロギングエージェントが有効なコンテナクラスターがあります。私のコンテナからstdoutログを正しく引き出しています。ここで、fluentd設定を変更して、GCPロギングビューに表示されるログに正しい重大度とコンポーネントが含まれるようにログパーサーを指定したいとします。このStackdriver logging guide from kubernetes.ioに続いて、私がしようと試みてきたGKE管理ログエージェントのfluentd設定を変更するにはどうすればよいですか?
:私のlog4jsに応じて新しい<filter>
を追加しました
- はfluentd
ConfigMap
を取得fluentdという名前の新しいConfigMap
を作成しフォーマット - を記録-cm-2 in
kube-system
名前空間 - fluentdのために
DaemonSet
を編集し、それを設定します。ConfigMap
~fluentd-cm-2。私はDaemonSet
yamlの新鮮なコピーを入手した後であっても、 "オブジェクトが変更されました"というエラーメッセージで後者が失敗したため、kubectl edit ds
の代わりにkubectl replace -f
を使用しました。
予期しない結果:DaemonSet
が再起動されますが、その設定を元ConfigMap
に戻され、ので、私の変更を有効にしませんでした。
ConfigMap
も直接編集してみましたが(kubectl edit cm fluentd-gcp-config-v1.1 --namespace kube-system
)、保存しましたが、元に戻しました。
fluentdのDaemonSet
とConfigMap
にはaddonmanager.kubernetes.io/mode: Reconcile
というタグが付いています。私はこの "調整"モードのためにGKEが私の設定を上書きしたと結論づけます。
私の質問は次のとおりです。クラスタコンフィギュレーションでGKEによってロギングエージェントがインストールされたときに、Google Container EngineクラスタのFluentD設定を変更するにはどうすればよいですか?
ありがとう、私の前提条件をスキップして悪い! – edwinbs