2017-09-14 3 views
0

J'ai trouvé des exemples jsonpath pour tester plusieurs valeurs sans extraire plusieurs valeurs. Je veux obtenir image et name de kubectl get pods.Comment extraire plusieurs valeurs de kubectl avec jsonpath

cela me reçoit name kubectl get pods -o=jsonpath='{.items[*].spec.containers[*].name}' | xargs -n 1

cela me reçoit image kubectl get pods -o=jsonpath='{.items[*].spec.containers[*].image}' | xargs -n 1

mais kubectl get pods -o=jsonpath='{.items[*].spec.containers[*].[name,image}' | xargs -n 2

se plaint invalid array index image - est-il une syntaxe pour obtenir une liste des valeurs de nœud adjacentes?

Répondre

3

Utilisez ci-dessous commande pour obtenir le nom et l'image

kubectl get pods -ao jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.spec.template.spec.containers[].image}{"\n"}{end}'

il donnera la sortie comme ci-dessous image Nom

+0

thx! travaille pour moi avec un tweak mineur: 'kubectl get pods -ao jsonpath = '{range .items [*]} {@. metadata.name} {" "} {@. spec.containers [*]. image} {" \ n "} {end}" – navicore