我正在使用jq以所需的格式获取一些数据,将pod的完整json数据粘贴到这里https://pastebin.com/UMJA7xd5。此数据是json格式的pod之一。我将在所有Pod上运行它,以便我可以列出信息,例如,
podname,第一个容器名称,cpu限制,内存限制,第二个容器名称,cpu限制,内存限制-基于容器的数量
基于容器中容器的数量。容器中容器的数量是随机的,一些容器中有1个容器,某些容器中最多有5个容器。
我可以在这里创建。
oc get po -o json | jq -j '.items[] | "\(.metadata.name), \(.spec.containers[] | .name +" , "+ .resources.limits.cpu +" , "+ .resources.limits.memory)\n" '
这给了我如下输出:-
kafka-0, kafka , 16 , 16Gi
kafka-0, filebeat , 2 , 256Mi
在上面的示例数据中,单个pod kafka-0的两个容器的打印数据。kafka豆荚有两个容器,因此产生两个生产线。
预期结果:
kafka-0, kafka , 16 , 16Gi, filebeat , 2 , 256Mi
我是jq的新手,尝试了很多选择,但未成功,可能是做错了什么。在这个容器中值是变化的,所以无法加入这些行。
$ cat test.jq
# Iterate over "items"
.items[] |
# Place each extracted element into an array
[
# Select elements
.metadata.name,
# Use parentheses to group
( .spec.containers[] | .name, .resources.limits["cpu","memory"] )
]
# Join the array together
| join(", ")
$ <input jq -r -f test.jq
kafka-0, kafka, 16, 16Gi, filebeat, 2, 256Mi
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句