Kubernetes(Google Container Engine)でレプリケーションコントローラのkubectl rolling-update
を実行すると、Google(Stackdriver)ロギングエージェントは新しくデプロイされたポッドを取得しません。ログは、古いポッドから生成された最後のメッセージに固執しています。Kubernetesローリングアップデート後にロギングが失敗する
したがって、手動再起動(つまり、kubectl scale
とkubectl delete
)してログを再度更新するまで、レプリケーションコントローラのログは最新ではありません。
他の人がその動作を確認できますか?回避策はありますか?
もう一度ローリングアップデートを実行するだけで、Stackdriverのログが更新されていないことを確認できます。新しく作成されたコンテナの 'docker logs'は、ログが生成されることを確認しました(' kubectl logs'は私にSSHトンネルを開く必要があります)。私は、彼らが無国籍で独立していることを考えると、期待通りのものだと思います。私は、このエラーには、ローリングアップデート時の名前変更プロセスと関係があると思われます。 – codemoped
ありがとうございました!私はそれに掘りはじめます。 –
あなたのノードはどのバージョンですか? 'gcloud container clusters list'はあなたのノードのバージョンをNODE_VERSIONカラムに表示します。 1.2.0でノードを持つクラスタでこれを再現しようとしましたが、これは失敗しました。つまり、新しいポッドからのログが機能しました。 –