根据定义,kube_pod_container_status_waiting_reason应该捕获处于等待状态的pod的原因。
我的kubernetes集群中有几个pod,它们位于CrashLoopBackOff中,但我没有看到kube_pod_container_status_waiting_reason捕获到的原因。它只捕获了两个原因- ErrImagePull和ContainerCreating。
~$ k get pods -o wide --show-all --all-namespaces | grep Crash
cattle-system cattle-cluster-agent-6f744c67cc-jlkjh 0/1 CrashLoopBackOff 2885 10d 10.233.121.247 k8s-4
cattle-system cattle-node-agent-6klkh 0/1 CrashLoopBackOff 2886 171d 10.171.201.127 k8s-2
cattle-system cattle-node-agent-j6r94 0/1 CrashLoopBackOff 2887 171d 10.171.201.110 k8s-3
cattle-system cattle-node-agent-nkfcq 0/1 CrashLoopBackOff 17775 171d 10.171.201.131 k8s-1
cattle-system cattle-node-agent-np76b 0/1 CrashLoopBackOff 2887 171d 10.171.201.89 k8s-4
cattle-system cattle-node-agent-pwn5v 0/1 CrashLoopBackOff 2859 171d 10.171.202.72 k8s-5在普罗米修斯中运行sum by (reason) (kube_pod_container_status_waiting_reason)会产生以下结果:
Element Value
{reason="ContainerCreating"} 0
{reason="ErrImagePull"} 0我正在运行kube-state-metrics的quay.io/coreos/kube-state-metrics:v1.2.0镜像。
我遗漏了什么?为什么查询中没有显示CrashLoopBackOff原因?我想设置一个警报,找到处于等待状态的pod及其原因。因此,考虑合并kube_pod_container_status_waiting来查找处于等待状态的pod,并合并kube_pod_container_status_waiting_reason来查找确切的原因。
请协助。谢谢!
发布于 2018-12-18 09:44:17
您遇到的是this。基本上,看起来您使用的是kube-state-metrics 1.2.0或更早版本。您可以看到在1.3.0中添加了ImagePullBackOff和CrashLoopBackOff。
因此,请将您的图像更新为:
k8s.gcr.io/kube-state-metrics:v1.3.0
quay.io/coreos/kube-state-metrics:v1.3.0或
k8s.gcr.io/kube-state-metrics:v1.4.0
quay.io/coreos/kube-state-metrics:v1.4.0https://stackoverflow.com/questions/53824537
复制相似问题