Kubernetes: Impossible de sélectionner la clé d'annotation à l'aide de jsonpath

Créé le 2 sept. 2016  ·  2Commentaires  ·  Source: kubernetes/kubernetes

J'adore utiliser kubectl ... -o jsonpath mais je n'arrive pas à comprendre comment imprimer une annotation contenant un caractère spécial comme - ou / ou . .

Cela ne fonctionne pas:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes.io/created-by}{"\n"}'
ni ceci:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes\.io\/created\-by}{"\n"}'
ni ceci:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations}{["kubernetes.io/created-by"]}{"\n"}'
ni ceci:
kubectl get pods tmp-1986694738-dhpx0 -o ​​jsonpath = "{\ $ ['metadata'] ['annotations'] ['kubernetes.io/created-by']}"
(le dernier devrait fonctionner selon ce que je peux trouver sur jsonPath, mais ne le fait pas, et de toute façon il est difficile de faire en sorte que le shell s'échappe correctement.

Besoin d'un moyen de citer un

arekubectl kinbug prioritbacklog

Commentaire le plus utile

Pour info, c'est possible avec go-template. Nous devrions quand même corriger le jsonpath.

kubectl get pods tmp -o go-template=$'{{index .metadata.annotations "kubernetes.io/created-by"}}\n'

Problème similaire: https://github.com/kubernetes/kubernetes/issues/23386

Tous les 2 commentaires

Un cas d'utilisation pour cela est l'extraction des annotations «créées par» ou «init-container». J'ai voulu faire les deux le mois dernier et j'ai combattu jsonpath.

Pour info, c'est possible avec go-template. Nous devrions quand même corriger le jsonpath.

kubectl get pods tmp -o go-template=$'{{index .metadata.annotations "kubernetes.io/created-by"}}\n'

Problème similaire: https://github.com/kubernetes/kubernetes/issues/23386

Cette page vous a été utile?
0 / 5 - 0 notes