私はKubernetesの展開でコンテナの準備と生存のプローブを定義しました。これらが失敗すると、ポッドのイベントにその出力が含まれることが期待されます。しかし、私はそのような出来事を見ません。私は同じポッドの他の出来事を見る。失敗したKubernetesプローブに関するイベントが表示されないのはなぜですか?
私はKubernetes v1.6.4でGKEを実行しています。
イベントを生成するコードは、https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/prober/prober.go#L94です。
代わりに、コンテナの「ref」が取得できなかったことを示すログが表示されます。コンテナ関連のイベントを記録しようとするコードの他の場所にも同様のログが表示されます。
これはバグですか?これらのイベントは潜在的に非常に有用です。特に、故障したプローブの出力を見ることができる唯一の方法であり、予期せず故障したプローブを診断することができます。
[これがStackOverflowの適切な問題であるかどうかはわかりません。
また、GKE 1.6.4クラスタもあります。 Kubernetesのドキュメントから[この例](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#define-a-live-command)をたどり、約40秒、私はポッドが生存プローブに失敗して殺された時でさえも見ました。それは次のようになります: '' 'liveness-exec_kube-system(4339b96a-5b7e-11e7-956e-42010a8a0fdc)"コンテナ "liveness"は不健全で、殺されて再作成されます。 '' ' –
できれば、ポッドが実行されているノードにSSHし、'!hasRef'条件がヒットしているかどうか確認してください。あなたはkubeletのログに "No ref for container"をgrepします。 –
@EricTuneありがとうございます。私はそれが確かに "コンテナの参照がない"問題であることを確認しました。 –