发现有问题的 Pod

问题描述 投票:0回答:3

我们正在寻找未处于运行状态或存在问题的 Pod 列表。虽然下面的命令拉取吊舱详细信息包括好的吊舱,但我们只针对坏的吊舱

'kubectl get pods -A' 
kubernetes kubectl
3个回答
3
投票

kubectl get pods --field-selector=status.phase=Failed

或者可以找到一些更好的规格这里


0
投票

您可以像 Samuel 建议的那样采用 kubectl 方式,或者更面向 bash 的方式。

这是我使用的一些以及我使用它们的时间

kubectl get po -A | grep Pending
寻找尚未安排的 Pod

kubectl get po -A | grep -v Running
寻找除“正在运行”之外的状态的 pod

kubectl get po -A -o wide | grep <IP>
查看给定节点的所有 Pod 状态

grep
是一个非常强大的 CLI 工具,支持正则表达式,可以帮助过滤
kubectl
命令的输出。

这是 grep 的手册页

http://linuxcommand.org/lc3_man_pages/grep1.html


0
投票

这是一个我用来找出哪些命名空间有问题 pod 以及问题可能是什么的脚本。我称该脚本为

notrunning

kubectl get po -A --no-headers |
awk '
  BEGIN {
    SUBSEP=" "
    format = "%-20s %20s  %5s\n"
    printf format, "NAMESPACE", "STATUS", "COUNT"
  }
  !/Running/ {a[$1,$4]++}
  END {
    for (i in a) {split(i,t); printf format, t[1],t[2],a[i]}
  }
' | sort

我得到与此类似的结果:

$ notrunning 

NAMESPACE                                                  STATUS  COUNT
namespace-01                                     InvalidImageName      2
namespace-02                                     InvalidImageName      1
namespace-02                                Init:ImagePullBackOff      1
namespace-03                                     CrashLoopBackOff      2
namespace-03                                     InvalidImageName      9
namespace-04                                    Init:ErrImagePull      1
© www.soinside.com 2019 - 2024. All rights reserved.