k8s 如何方便的查看一个节点上各个 pods 的资源使用情况?

291 天前
 justdoit123

场景:今天一个节点的内存使用超过警报值了。

在排查问题的时候,想看看到底是什么 pods 把节点的内存资源吃光了。但是通过 kubectl describe node xxx 来查看这个节点的信息,上面只有每个 pods 的 resource requests & limits ,并不是实际的使用量。由于这个节点有好几个 namespaces 的 pods ,所以我就用比较笨的办法,配合 awk xargs 等,对每个 pod 逐一执行 kubectl top pod 查询实际内存的使用情况。

问题:有没有更先进的方法来查询节点上各个 pods 的资源使用情况?感谢!

1848 次点击
所在节点    Kubernetes
16 条回复
salmon5
291 天前
justdoit123
291 天前
@salmon5 w(゚Д゚)w 哇哦! 感谢,感谢~
Frankcox
291 天前
你们公司的 k8s 运维没做任何可观测性的配置嘛?
简单的有 mertics-server ,安了 metrics-server 就可以直接 kubectl top 查看 CPU 、内存信息。
标准的选择就多了些,我们用的是 cadvisor+kube-state-metrics+prometheus+grafana ,这样看的信息维度就很广了
justdoit123
291 天前
@Frankcox grafana 里我看了下,主要都是根据 namespaces 的维度来看资源使用情况的,刚好没有节点的。metrics 我相信是收集了,只是没有配置对应的图表。 后续去看看怎么配置。
Frankcox
291 天前
@justdoit123 #4 grafana 的 PromQL 语句是自己写的,可以学下 Prometheus 的语法,查看每个 Node 的情况这种情景很常见的。
justdoit123
291 天前
说得很对,主要就是 PromQL 还不熟。 之前在生产环境上,把服务搞 OOM 过。准备自己搭一个学习环境 来玩一玩。
ljian6530
291 天前
@justdoit123 赞同 3 楼,其实就是 https://github.com/prometheus-operator/kube-prometheus 这个方案,是包含丰富图标的。并且有 node 的纬度的 pod 资源使用情况。让你们运维搞下。
CivAx
291 天前
可以直接用 kube-prometheus-stack 这个 helm chart ,我也偶尔遇到跟你一模一样的问题,我是直接去 dashboard 看的。
ExplodingFKL
290 天前
如果是在线调试的话直接上 k9s ,前提是安装了 metrics-server ,如果是监控的话直接 prometheus 和 kube-state-metrics
fxalll
290 天前
minikube dashboard
beyondstars
290 天前
可以在集群上安装一个 metrics-server, 再安装一个 Lens.app 客户端。
beyondstars
290 天前
地址在这: https://k8slens.dev/
cheng6563
290 天前
kube-prometheus-stack helm 一把梭
cheng6563
290 天前
里面自带了很多 grafana 图表和告警规则,一般够用了。
YaD2x
290 天前
k8s 有 top 命令
windcode
161 天前
Lens 现在收费了,可以考虑这个新项目 https://github.com/KusionStack/karpor

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1014235

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX