当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完成的。
答案 0 :(得分:0)
您可以ssh到正在运行pod的计算机并执行journalctl -u kubelet
答案 1 :(得分:0)
我的使用方式-正在dmesg节点上并从那里跟踪事件
答案 2 :(得分:0)
您可能正在寻找logging at the node level,其中支持StackDriver。日志可以在console或gcloud
命令中查看。不知道哪个度量标准OOM
,但是可能有一个预定义的度量标准。流利的,有一个plugin。
答案 3 :(得分:0)
它可能不会返回错误代码,但它肯定会显示更多详细信息。
<块引用>您可以使用 kubectl logs --previous
来检索以前的日志
容器的实例化。如果您的 pod 有多个容器,
通过附加一个指定要访问的容器日志
命令的容器名称。
来自https://kubernetes.io/docs/concepts/cluster-administration/logging/