栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-10-20通过python统计k8s集群中命名空间下的pod数量和节点上的pod数量

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-20通过python统计k8s集群中命名空间下的pod数量和节点上的pod数量

背景:由于k8s集群节点较多,需要统计到不同命名空间下的pod数量和节点上的pod数量。 实现方法:基于python实现 ns上的pod数量:
#!/usr/bin/python
import commands
namespaces = []
pod_namespaces = []
status,output = commands.getstatusoutput("kubectl get namespace")
if status == 0:
    lines = output.split('n')
    for i in range(0,len(lines)):
        ns = lines[i].split()[0]
        if ns == 'NAME':
            continue
        namespaces.append(ns)
else:
   print("command is not found")
   exit()

sts,outp = commands.getstatusoutput("kubectl get pod -A")
line = outp.split('n')
for i in range(0,len(line)):
    pod_ns = line[i].split()[0]
    if pod_ns == 'NAMESPACE':
        continue
    pod_namespaces.append(pod_ns)
for i in range(0,len(namespaces)):
    ns = namespaces[i]
    ns_num = pod_namespaces.count(ns)
    print (ns,ns_num)

node上的pod数量:
#!/usr/bin/python
import commands

nodes = []
node_pod = []
status,output = commands.getstatusoutput("kubectl get nodes")
lines = output.split('n')
for i in range(0,len(lines)):
    node = lines[i].split()[0]
    if node == 'NAME':
        continue
    nodes.append(node)

sts,outp = commands.getstatusoutput("kubectl get pod -A -o wide")
line = outp.split('n')
for i in range(0,len(line)):

    node = line[i].split()[7]
    if node == 'NODE':
        continue
    node_pod.append(node)
for i in range(0,len(nodes)):
    ns = nodes[i]
    num = node_pod.count(ns)
    print ns,num

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号