解析kubenetes pod名称的更有效方法

时间:2019-07-23 21:35:07

标签: json performance jq

我有下面的代码可以工作,但是| . [ ]部分看起来很多余。

任何人都可以提出有关如何删除该代码的建议-最好提供有关其无效性的解释?

 kubectl get pods -l app.kubernetes.io/name=esl-mops -o json |\
    jq -r '[.items[] | {name:.metadata.name} ] | . [ ] .name'

1 个答案:

答案 0 :(得分:0)

如果您说的是直觉告诉您,有一种更简单,更有效的方法来获取.metadata.name值,那么您就幸运了,因为管道可以简化为:

.items[] | .metadata.name

这避免了构造数组,构造对象和拆除所有零件的所有开销。

顺便说一句,这很好地说明了jq面向流的价值。这通常有助于使人们有可能为简单的问题提供简单的解决方案,并在有解决方案的情况下获得有效的解决方案。