我想根据注释的值过滤kubectl get deploy
命令。
类似kubectl get deploy --annotation stork.libopenstorage.org/skipresource!="true"
目前尚不知道如何执行此操作,我们也不想添加额外的标签。上面两个命令的输出应该如下所示:
kubectl get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
elastalert 1/1 1 1 33d
es-hq 1/1 1 1 33d
etcdsnapshots 1/1 1 1 33d
fluentd-aggregator 2/2 2 2 33d
kibana 1/1 1 1 33d
kubectl get deploy --annotation stork.libopenstorage.org/skipresource!="true"
NAME READY UP-TO-DATE AVAILABLE AGE
etcdsnapshots 1/1 1 1 33d
fluentd-aggregator 2/2 2 2 33d
kibana 1/1 1 1 33d
kubectl get deploy --annotation stork.libopenstorage.org/skipresource="true"
NAME READY UP-TO-DATE AVAILABLE AGE
elastalert 1/1 1 1 33d
es-hq 1/1 1 1 33d
答案 0 :(得分:1)
我有一个带有注释prometheus.io/scrape="true“
的部署我可以通过以下方式获得带有该注释的部署
kubectl get deploy -o=jsonpath='{.items[?(@.spec.template.metadata.annotations.prometheus\.io/scrape=="true")].metadata.name}'
以上使用Jsonpath概念,可以在here
找到该文档在您的情况下,命令可能像
kubectl get deploy -o=jsonpath='{.items[?(@.spec.template.metadata.annotations.stork\.libopenstorage\.org/skipresource=="true")].metadata.name}'
这个概念也可以应用于其他kubernetes资源。另一个可能有助于理解早期命令的命令是
kubectl get deployment -o=json
答案 1 :(得分:0)