在我的kubernetes集群中,我有一些正在运行的Pod,还有一堆处于“完成”状态的Pod。我使用查询,例如
kube_pod_container_resource_requests_cpu_cores{namespace="default"}
获取默认名称空间中pod的cpu请求。这给了我关闭所有pod的CPU请求。但是,我想要的只是“运行”状态下的Pod的CPU请求。任何想法如何实现这一目标?谢谢
答案 0 :(得分:0)
请尝试以下查询:
kube_pod_container_resource_requests_cpu_cores{job="kube-state-metrics"} * on (endpoint, instance, job, namespace, pod, service) group_left(phase) (kube_pod_status_phase{phase=~"^(Pending|Running)$"} == 1)
它利用Prometheus matching operator来选择正则表达式匹配的标签-这里仅是处于“正在运行”或“待处理”状态的Pod。