如何在 kubernetes 中获取 Pod 的数量(可用或终止)?

tum*_*umm 5 kubernetes

我需要找到当前未终止的 pod 数量(可以是可用的、正在终止等),以防止在仍有一些 pod 未终止的情况下开始部署。

更新:如果没有可用的豆荚,我应该得到“0”。是否可以 ?

Blo*_*je5 13

你可以试试:

kubectl get pods --field-selector=status.phase!=Succeeded,status.Phase!=Failed

如果您查看Pod 阶段,您会发现这涵盖了所有容器终止(失败或成功)的所有可能的 Pod

如果您特别想要计数,您可以使用一些jq并使用:

kubectl get pods --field-selector=status.phase!=Succeeded,status.Phase!=Failed --output json | jq -j '.items | le
ngth'
Run Code Online (Sandbox Code Playgroud)

这将返回不是 的 pod 的数量Terminated


小智 7

如果您使用的是 Linux,则可以使用命令行工具wc(wordcount)来计算行数kubectl(与 no headers 选项结合使用),如下所示:

kubectl get pods --no-headers | wc -l
Run Code Online (Sandbox Code Playgroud)


use*_*610 5

作为答案的替代方案jq,这是一个wc -l答案

k3s kubectl get pods --output name | wc -l
Run Code Online (Sandbox Code Playgroud)

这在某种程度上更方便,因为jq可能并不总是安装。