You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何结合kubectl命令按节点对Pod按CPU/内存使用率排序

按节点维度排序Pod资源使用率的实现方案

原生kubectl top没有直接支持按节点聚合、排序Pod资源的内置参数,可通过组合命令行工具快速实现该需求,无需安装额外组件:


1. 全集群按节点分组,组内按资源排序

同节点内Pod按CPU使用率降序排列

kubectl top pod -A --no-headers | sort -k7,7 -k3,3r

同节点内Pod按内存使用率降序排列

kubectl top pod -A --no-headers | sort -k7,7 -k4,4r

参数说明:

  • -A 拉取所有命名空间的Pod数据
  • -k7,7 优先按第7列(Pod所在节点名)排序,实现同节点Pod聚合
  • -k3,3r/-k4,4r 同节点内分别按第3列CPU值、第4列内存值降序排列

2. 单节点下Pod资源排序

如果只需查看指定节点(示例节点名为worker-node-01)的Pod排序,可通过字段选择器过滤:

按CPU降序

kubectl top pod -A --no-headers --field-selector spec.nodeName=worker-node-01 | sort -k3,3r

按内存降序

kubectl top pod -A --no-headers --field-selector spec.nodeName=worker-node-01 | sort -k4,4r

3. 节点维度Pod总资源聚合统计

如果需要统计每个节点上所有Pod的CPU、内存总占用,可搭配awk实现聚合计算,结果可直接与kubectl top nodes的节点总使用率对照排查问题:

kubectl top pod -A --no-headers | awk '{node_cpu[$7]+=$3; node_mem[$7]+=$4} END {for(node in node_cpu) print node, "总CPU(毫核):" node_cpu[node], "总内存(Mi):" node_mem[node]}' | sort -k2,2r

注意:不同版本kubectl的top pod输出列顺序可能存在差异,可先执行kubectl top pod -A确认列索引,再调整sort、awk中的列号参数即可。

内容的提问来源于stack exchange,提问作者lapinkoira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 22:12:03