kubernetes - 获取未运行的 Kubernetes pod 数量
问题描述
我有这个命令来列出Kubernetes
未运行的 pod:
sudo kubectl get pods -n my-name-space | grep -v Running
是否有一个命令会返回未运行的 pod 计数?
解决方案
如果添加... | wc -l
到该命令的末尾,它将打印grep
命令输出的行数。这可能包括标题行,但您可以取消它。
kubectl get pods -n my-name-space --no-headers \
| grep -v Running \
| wc -l
如果你有一个可用的 JSON 处理工具jq
,你可以获得更可靠的输出(如果pod 恰好在其名称中包含字符串,则grep
调用将得到不正确的答案)。你应该能够做类似的事情(未经测试)Evicted
Running
kubectl get pods -n my-namespace -o json \
| jq '.items | map(select(.status.phase != "Running")) | length'
如果你会做很多这样的事情,使用Kubernetes API编写一个非 shell 程序会更加健壮;您通常可以使用 SDK 调用执行“获取 pod”之类的操作,并获取可以过滤的 pod 对象列表。
推荐阅读
- node.js - 如何显示来自 mongodb gridfs 的图像
- docker - 使用 docker compose 更新服务器
- git - 几次本地提交后的“dvc push”
- vue.js - vue.js - 如何在更改路由时管理 vuex 状态
- javascript - 在 Javascript 文件中引用外部类方法;获取参考错误
- python - 如何在 PySpark 中提高此 groupby 和聚合的性能?
- android - 约束布局奇怪的行为
- c - 将 ascii 转换为 input_event 键码
- go - Is Go dependent on Perl & sh
- python - 文件未在 docker-compose 中从容器同步到主机