kubernetes - kubernetes - 如何找到正在运行和准备好的 pod?
问题描述
我想获取“正在运行”且完全“就绪”的服务的 kubernetes pod 列表。
完全准备好,我的意思是在 k9s 中显示完整的“READY”计数,所以如果 pod 有 4 个运行条件,我会在 k9s 中看到“READY”和“4/4”。
我怎样才能做到这一点?
解决方案
对于特定服务,my-service
这仅显示完全准备好的 pod
$ kubectl get pods --selector=app=my-service -o json | select_ready_pods.py
所有豆荚的类似想法
$ kubectl get pods --all-namespaces -o json | select_ready_pods.py
列出未准备好的 pod
$ kubectl get pods --selector=app=my-service -o json | select_ready_pods.py --not_ready
select_ready_pods.py
#!/usr/bin/env python
import sys
import json
try:
a = json.load(sys.stdin)
except:
print("The data from stdin doesnt appear to be valid json. Fix this!")
sys.exit(1)
def main(args):
for i in a['items']:
length = len(i['status']['conditions'])
count = 0
for j in i['status']['conditions']:
if (j['status'] == "True"):
count=count+1
if (args.not_ready):
if (count != length):
print(i['metadata']['name'])
else:
if (count == length):
print(i['metadata']['name'])
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--not_ready", help="show pods that are NOT ready", action="store_true")
args = parser.parse_args()
main(args)
推荐阅读
- sql-server - 无法在 ubuntu 20 中安装 SQLserver 工具
- sql - Oracle SQL date comparison
- python-3.x - 通过分隔获取列表中每个单词的计数
- linux - 使用“set -e”命令重用 bash 错误处理“陷阱”逻辑无法正确调用错误处理函数
- json - 如何在 Redis 中使用 cmsgpack 和 Lua 存储具有空值的 JSON?
- php - WooCommerce wc_get_product 返回 False?
- reactjs - 使用 React Js 在按钮单击的同一页面中附加数据
- flutter - Flutter Listview.builder - 将具有特定子项的列表构建到 ROW 中
- python - Cython 的 pyx 文件能否只占用标头定义的一小部分
- docker - Google Cloud Platform - 实例停止后删除 AI Notebook