You need to enable JavaScript to run this app. Kubernetes使用jq提取Pod容器列表出现笛卡尔积问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes使用jq提取Pod容器列表出现笛卡尔积问题求助

问题原因

你写的jq命令中两次单独展开了.spec.containers数组:.spec.containers[].name 和 .spec.containers[].image 是两次独立的数组展开操作,jq会默认将两次展开的所有取值做笛卡尔积组合,2个容器的场景下就会生成2*2=4组结果,也就是你看到的重复错误输出。

正确处理命令

jq '.items[] | { "name": .metadata.name, "containers": [.spec.containers[] | { "name": .name, "image": .image }]}'

命令逻辑说明

  • 先通过.spec.containers[]遍历容器数组的每个单独元素
  • 对每个容器元素直接提取自身的name和image字段构造对象
  • 最后用[]将所有构造好的容器对象包裹成数组,避免多次展开数组导致的笛卡尔积问题

执行后即可得到你预期的输出结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:15:04