如何在监视模式下将jq过滤器应用于kubectl输出?

时间:2018-07-11 08:42:28

标签: kubernetes jq kubectl

我想过滤以kubectl模式运行的--watch命令的输出,以关注对某些k8s注释的更改。我正在使用以下命令:

kubectl get pod my-pod --watch -o json | jq '.metadata.annotations["my-annotation"]'

问题是-在停止命令之前,什么都不会打印。我希望jq处理输入并在my-pod发生更改时将其打印出来。

我尝试使用--unbuffered标志,但不能解决问题。

1 个答案:

答案 0 :(得分:0)

因此,我已经测试了您的命令,它运行完美。但是,您在命令末尾缺少引号。

kubectl get pod nginx-5dfd5597bb-tp8h7 --watch -o json | jq '.metadata.name'

给我

"nginx-5dfd5597bb-tp8h7"

如果可以使用此命令,但不能使用它;它可能与方括号和引号或缺少对象键有关。