我们经常会用到kubectl get来查看资源情况
如:
- kubectl get pod -n xxx
- kubectl get svc -n xxx
但是如果输出太多,可能会有些杂乱
我们可能会使用 gerp 来过滤
其实kubectl已经给了一个更适合的过滤方法 --field-selector
--field-selector 其实就是抓去json的指定key的value
例如我想查看一个名称为 nginx-pod 的 pod 可以这样做
# kubectl get pod --field-selector metadata.name=nginx-pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 4h33m
metadata.name=nginx-pod 中间的 = 号为操作符,还有一个操作符 != 表示不等于
查看所有名称空间下状态不是Running的Pod
# kubectl get pod -A --field-selector status.phase!=Running
如果不知道具体的key,也就是status.phase从哪来的
可以随便导出一份资源的json来查看
# kubectl get pod/pod-nginx -o json > pod-nginx.yaml