Kubernetes 从kubectl输出显示失败的POD

Kubernetes 从kubectl输出显示失败的POD,kubernetes,grep,Kubernetes,Grep,我想在kubectl上写一个包装器,只显示失败的pod,这意味着它应该只显示就绪列值不相同的项目(即0/1、0/2、1/2、2/3、等) 因此,从上面的输出中,我想打印这些失败的pod NAMESPACE NAME READY STATUS RESTARTS AGE default pod-with-sidecar

我想在
kubectl
上写一个包装器,只显示失败的pod,这意味着它应该只显示就绪列值不相同的项目(即
0/1、0/2、1/2、2/3、
等)

因此,从上面的输出中,我想打印这些失败的pod

NAMESPACE       NAME                                        READY     STATUS             RESTARTS   AGE
default         pod-with-sidecar                            1/2       ErrImagePull       0          4m
my-system       glusterfs-brick-0                           0/2       Pending            0          56s
my-system       sticky-scheduler-6d968f8d74-xvjqn           0/1       ImagePullBackOff   0          8m
这管用

$ kubectl get pods --all-namespaces | grep -vE '1/1|2/2|3/3'

NAMESPACE       NAME                                        READY     STATUS             RESTARTS   AGE
default         pod-with-sidecar                            1/2       ErrImagePull       0          4m
my-system       glusterfs-brick-0                           0/2       Pending            0          56s
my-system       sticky-scheduler-6d968f8d74-xvjqn           0/1       ImagePullBackOff   0          8m
但是如果我在
Ready
列中有
2/4,0/4,0/5,0/6
等,它将不起作用,我可以用
grep-vE'1/1 | 2/2 | 3/3'
做什么来让它适用于所有此类情况

参考:

与GNU grep:

 | grep -Ev '([0-9]+)/\1'
输出:

NAMESPACE NAME READY STATUS RESTARTS AGE default pod-with-sidecar 1/2 ErrImagePull 0 39s my-system glusterfs-brick-0 0/2 Pending 0 3m my-system sticky-scheduler-6d968f8d74-xvjqn 0/1 ImagePullBackOff 0 4m 名称空间名称就绪状态重新启动 带侧车的默认吊舱1/2 ErrImagePull 0 39s 我的系统glusterfs-brick-0 0/2挂起0 3m 我的系统sticky-scheduler-6d968f8d74-xvjqn 0/1图像回退0 4m
您可以使用
--字段选择器

kubectl get pods --all-namespaces --field-selector=status.phase!=Running

kubectl获取pods——所有名称空间| grep-v“Running”
?我认为
状态
不会总是
运行
如果pods已准备就绪,则不会显示pods如果您有
CrashLoopBackOff
我仍然看到成功的作业或已完成,并且无法找到如何附加多个字段选择器,如!=运行|Completed@Flowkap您可以使用
来分离字段选择器值,例如:
kubectl get pods--field selector=status.phase=正在运行,状态。阶段=成功-所有名称空间
@Bad_Coder我在这段时间发现了,完全忘记了这篇文章,不过还是谢谢你!希望其他人也觉得这很有用:)
kubectl get pods --all-namespaces --field-selector=status.phase!=Running