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

如何在K8s集群中筛选请求GPU等特殊资源的Pod

定位K8s集群中请求nvidia.com/gpu=1的Pod

需求

需要快速筛选出集群中请求nvidia.com/gpu=1的Pod,并输出如下格式的结果:

POD     NAMESPACE     GPU RESOURCE
aab     abc           1
aab     abb           2

解决方案

方法:kubectl + jsonpath + awk组合命令

由于--field-selector仅支持筛选Pod元数据类字段(如命名空间、状态阶段),无法直接匹配容器资源请求中的自定义GPU资源,因此采用jsonpath导出目标字段 + awk过滤格式化的方式实现:

单容器Pod场景(或汇总Pod内所有容器GPU请求)

kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.namespace}{"\t"}{.spec.containers[*].resources.requests.nvidia\.com/gpu}{"\n"}{end}' | awk 'BEGIN{print "POD\tNAMESPACE\tGPU RESOURCE"} $3 == 1 {print $1"\t"$2"\t"$3}'

多容器Pod场景(逐个容器输出)

如果需要单独展示Pod内每个容器的GPU请求(一个Pod多容器时会生成多行),使用以下命令:

kubectl get pods -A -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.metadata.name}{"\t"}{.metadata.namespace}{"\t"}{.resources.requests.nvidia\.com/gpu}{"\n"}{end}{end}' | awk 'BEGIN{print "POD\tNAMESPACE\tGPU RESOURCE"} $3 == 1 {print $1"\t"$2"\t"$3}'

命令说明

  1. kubectl jsonpath部分:遍历所有Pod,提取Pod名称、所属命名空间、容器请求的GPU数量,用制表符分隔
  2. awk部分:先打印指定表头,再筛选第三列(GPU数量)等于1的行,按要求格式输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:50:03