Kubernetes: Der Anmerkungsschlüssel kann nicht mit jsonpath ausgewählt werden

Erstellt am 2. Sept. 2016  ·  2Kommentare  ·  Quelle: kubernetes/kubernetes

Ich liebe es, kubectl ... -o jsonpath aber ich kann nicht herausfinden, wie man eine Anmerkung druckt, die ein Sonderzeichen wie - oder / oder . .

Das funktioniert nicht:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes.io/created-by}{"\n"}'
noch dies:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes\.io\/created\-by}{"\n"}'
noch dies:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations}{["kubernetes.io/created-by"]}{"\n"}'
noch dies:
kubectl get pods tmp-1986694738-dhpx0 -o ​​jsonpath = "{\ $ ['metadata'] ['annotations'] ['kubernetes.io/created-by']}"
(Der letzte sollte nach dem funktionieren, was ich über jsonPath finden kann, aber nicht, und es ist sowieso schwierig, die Shell richtig zu entkommen.

Benötigen Sie einen Weg, um a zu zitieren

arekubectl kinbug prioritbacklog

Hilfreichster Kommentar

Zu Ihrer Information, dies ist mit go-template möglich. Wir sollten den jsonpath trotzdem reparieren.

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

Ähnliches Problem: https://github.com/kubernetes/kubernetes/issues/23386

Alle 2 Kommentare

Ein Anwendungsfall hierfür ist das Extrahieren von Annotationen "Erstellt von" oder "Init-Container". Ich wollte beides im letzten Monat machen und habe gegen jsonpath gekämpft.

Zu Ihrer Information, dies ist mit go-template möglich. Wir sollten den jsonpath trotzdem reparieren.

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

Ähnliches Problem: https://github.com/kubernetes/kubernetes/issues/23386

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen