Kubernetes: No se puede seleccionar la clave de anotación usando jsonpath

Creado en 2 sept. 2016  ·  2Comentarios  ·  Fuente: kubernetes/kubernetes

Me encanta usar kubectl ... -o jsonpath pero no sé cómo imprimir una anotación que contenga un carácter especial como - o / o . .

Esto no funciona:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes.io/created-by}{"\n"}'
ni esto:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes\.io\/created\-by}{"\n"}'
ni esto:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations}{["kubernetes.io/created-by"]}{"\n"}'
ni esto:
kubectl get pods tmp-1986694738-dhpx0 -o ​​jsonpath = "{\ $ ['metadata'] ['anotaciones'] ['kubernetes.io/created-by']}"
(el último debería funcionar de acuerdo con lo que puedo encontrar sobre jsonPath, pero no lo hace, y de todos modos es difícil hacer que el shell escape correctamente.

Necesito una forma de cotizar un

arekubectl kinbug prioritbacklog

Comentario más útil

Para su información, esto es posible con go-template. Sin embargo, aún deberíamos arreglar el jsonpath.

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

Problema similar: https://github.com/kubernetes/kubernetes/issues/23386

Todos 2 comentarios

Un caso de uso para esto es la extracción de anotaciones "created-by" o "init-container". Quería hacer ambas cosas en el último mes y luché contra jsonpath.

Para su información, esto es posible con go-template. Sin embargo, aún deberíamos arreglar el jsonpath.

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

Problema similar: https://github.com/kubernetes/kubernetes/issues/23386

¿Fue útil esta página
0 / 5 - 0 calificaciones