获取带有特定标签的pod的名称



我正试图使用返回错误的命令从pod json中获取podname

kgp -o jsonpath="{.items[*].metadata[?(@.labels.module=='ddvv-script')].name}"

错误

is not array or slice and cannot be filtered. Printing more information for debugging the template:
template was:
{.items[*].metadata[?(@.labels.module=='ddvv-script')].name}
object given to jsonpath engine was:

样本文件

{
"apiVersion": "v1",
"items": [
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"creationTimestamp": "2020-09-18T17:42:50Z",
"generateName": "ddvv-script-6b784db6bd-",
"labels": {
"app": "my-configs",
"lf.module": "ddvv-script",
"module": "ddvv-script",
"pod-template-hash": "6b784db6bd",
"release": "config"
},
"name": "ddvv-script-6b784db6bd-rjtgh",

这个命令出了什么问题

您可以使用以下命令。它获取带有标签module=ddvv-script的pod的podname

kubectl get pods --selector=module=ddvv-script --output=jsonpath={.items..metadata.name}
kgp -o jsonpath="{.items[*].metadata[?(@.labels.module=='ddvv-script')].name}"

应该是

kgp -o jsonpath="{.items[?(@.metadata.labels.module=='ddvv-script')].metadata.name}"

相关内容

  • 没有找到相关文章

最新更新