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