为什么我没有看到与失败的Kubernetes探针相关的事件?

问题描述:

我已经为Kubernetes部署中的容器定义了准备就绪和活性探测。当这些失败时,我希望看到他们的输出包含在吊舱的事件中。但是我没有看到这样的事件。我确实看到了同一个吊舱的其他事件。为什么我没有看到与失败的Kubernetes探针相关的事件?

我在GKE上运行,使用Kubernetes v1.6.4。

应该产生事件的代码在这里:https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/prober/prober.go#L94

我所看到的是日志,指示无法检索容器的“ref”。我在代码中的其他地方看到类似的日志,这些日志尝试记录与容器相关的事件。

这是一个错误?这些事件可能非常有用。特别是它是查看故障探头输出的唯一方法,以便我可以诊断意外故障的探头。

[我不确定这是否是适合*的问题。请让我知道这是否会在Github中更好地提出。]

+0

我也有一个GKE 1.6.4集群。 我遵循[本示例](Kubernetes文档)中的(https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#define-a-liveness-command),以及之后大约40秒,我甚至发现,即使这个吊舱因没有活动探测器而死亡。它看起来像: '''liveness-exec_kube-system(4339b96a-5b7e-11e7-956e-42010a8a0fdc)“container”liveness“是不健康的,它会被杀死并重新创建。 ''' –

+0

如果您能够,您可以SSH连接到正在运行pod的节点,并检查是否正在触发'!hasRef'条件。你会grep kubelet日志“没有容器的ref”。 –

+0

@EricTune谢谢。我已检查确实是“没有容器”的问题。 –

这是一个在Kubernetes 1.6.7中已修复的错误。