如何跟踪Kubernetes OOMKilled终止消息?

时间:2018-02-22 16:49:04

标签: kubernetes

当POD被驱逐时,可以在容器文件系统内的/dev/termination-log(或" terminationMessagePath"属性中定义的其他路径)中查找有关驱逐的消息。

我试图跟踪OOMKilled事件,但在OOMKilled发生并且POD重新启动后,/dev/termination-log为空。

我尝试设置" terminationMessagePolicy"属性" FallbackToLogsOnError"希望在容器日志中找到消息,但我没有找到任何有关OOMKilled的消息。

通过执行kubectl describe pod podname,我可以发现终止原因是OOMKilled,但我希望能够关注此事件,以便将其与流利和logstash集成。

我们的Kubernetes群集版本是v1.9.0并且它在本地运行。安装是在CentOS 7上使用kubeadm完成的。

4 个答案:

答案 0 :(得分:0)

您可以ssh到正在运行pod的计算机并执行journalctl -u kubelet

答案 1 :(得分:0)

我的使用方式-正在dmesg节点上并从那里跟踪事件

答案 2 :(得分:0)

您可能正在寻找logging at the node level,其中支持StackDriver。日志可以在consolegcloud命令中查看。不知道哪个度量标准OOM,但是可能有一个预定义的度量标准。流利的,有一个plugin

答案 3 :(得分:0)

它可能不会返回错误代码,但它肯定会显示更多详细信息。

<块引用>

您可以使用 kubectl logs --previous 来检索以前的日志 容器的实例化。如果您的 pod 有多个容器, 通过附加一个指定要访问的容器日志 命令的容器名称。

来自https://kubernetes.io/docs/concepts/cluster-administration/logging/