首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取Kubernetes Node上运行Pod的历史记录?

如何获取Kubernetes Node上运行Pod的历史记录?
EN

Stack Overflow用户
提问于 2016-09-18 09:31:16
回答 5查看 15.3K关注 0票数 9

在Kuberenetes集群中,我们遇到了集群节点内存耗尽和Linux调用OOM杀手的零星情况。查看日志,似乎调度到Node上的Pod请求的内存超过了Node可以分配的内存。

问题是,当调用OOM杀手时,它会打印出进程及其内存使用情况的列表。然而,由于我们所有的Docker容器都是Java服务,“进程名称”只是显示为"java",不允许我们追踪哪个特定的Pod导致了问题。

如何获取在特定节点上计划运行哪些Pod以及何时运行的历史记录?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-01-04 05:56:18

我们使用Prometheus来监控OOM事件。

此表达式应报告内存使用量达到限制的次数:

代码语言:javascript
运行
复制
rate(container_memory_failcnt{pod_name!=""}[5m]) > 0

仅供参考:这是仅次于正确的文档的最好的东西,the code

票数 2
EN

Stack Overflow用户

发布于 2018-05-28 17:27:30

您现在可以使用kube-state-metrics kube_pod_container_status_terminated_reason来检测对象模型事件

代码语言:javascript
运行
复制
kube_pod_container_status_terminated_reason{reason="OOMKilled"}

kube_pod_container_status_terminated_reason{container="addon-resizer",endpoint="http-metrics",instance="100.125.128.3:8080",job="kube-state-metrics",namespace="monitoring",pod="kube-state-metrics-569ffcff95-t929d",reason="OOMKilled",service="kube-state-metrics"}
票数 5
EN

Stack Overflow用户

发布于 2020-12-23 03:21:50

特定命名空间的事件历史记录,按creationTimestamp排序:

代码语言:javascript
运行
复制
kubectl get events -n YOURNAMESPACE -o wide --sort-by=.metadata.creationTimestamp

或者,如果您想要检查所有名称空间的事件历史记录,请按creationTimestamp排序:

代码语言:javascript
运行
复制
kubectl get events --all-namespaces -o wide --sort-by=.metadata.creationTimestamp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39553259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档