kubectl ... -o jsonpath
を使用するのが大好きですが、 -
、 /
、 .
などの特殊文字を含む注釈を印刷する方法がわかりません。
これは動作しません:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes.io/created-by}{"\n"}'
これも:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations.kubernetes\.io\/created\-by}{"\n"}'
これも:
kubectl get pods tmp -o 'jsonpath={.metadata.annotations}{["kubernetes.io/created-by"]}{"\n"}'
これも:
kubectl get pods tmp-1986694738-dhpx0 -o jsonpath = "{\ $ ['metadata'] ['annotations'] ['kubernetes.io/created-by']}"
(最後のものは、jsonPathについて私が見つけたものに従って機能するはずですが、機能しません。とにかく、シェルを正しくエスケープするのは困難です。
引用する方法が必要
このユースケースは、「created-by」または「init-container」アノテーションを抽出することです。 私は先月、jsonpathと戦った両方をやりたかった。
参考までに、これはgo-templateで可能です。 ただし、jsonpathを修正する必要があります。
kubectl get pods tmp -o go-template=$'{{index .metadata.annotations "kubernetes.io/created-by"}}\n'
同様の問題: https :
最も参考になるコメント
参考までに、これはgo-templateで可能です。 ただし、jsonpathを修正する必要があります。
同様の問題: https :