我运行这个命令:
# kubectl get pods --all-namespaces --field-selector=metadata.namespace!=kube-system,metadata.namespace!=monitoring,metadata.namespace!=rtf
这会给我这样的输出:
NAMESPACE NAME READY STATUS RESTARTS AGE
123456-1234-1234-1234-123456789 some-app-123456 2/2 Running 0 10m
123456-1234-1234-1234-123456789 some-app-789112 1/2 Running 0 10m
我希望能够在READY列上进行筛选,但似乎找不到正确的字段选择器值。
这可能吗?
我试着搜索可用的字段选择器列表,但没有任何运气。有可能根本就不存在。
1条答案
按热度按时间vd2z7a6w1#
我不认为
kubectl get pods
直接基于READY
列支持field selectors
。但是
kubectl
提供了一种将资源配置(YAML)直接导出到JSON, -o json
的方法。然后,我们可以使用jq
从kubectl
读取、解析和改变K8s对象结果。在您的例子中,您可以使用这样的命令来过滤所有不处于
ready
状态的pod(不包括命名空间kube-system
,monitoring
&rtf
中的pods
):和/或更改
ready=true
以使Pod处于ready
状态。查看this文章,了解更多有关
jq
与kubectl
的此类用法希望能帮上忙。