我正试图使用返回错误的命令从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}"