普罗米修斯kube_pod_container_status_waiting_reason没有捕捉到pod CrashLoopBackOff的原因。

3 人关注

By definition, kube_pod_container_status_waiting_reason 是为了捕捉等待状态下的吊舱的原因。

我的kubernetes集群中有几个pods处于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

Running sum by (reason) (kube_pod_container_status_waiting_reason) in prometheus yields results:

Element                       Value
{reason="ContainerCreating"}    0
{reason="ErrImagePull"}         0

我正在运行quay.io/coreos/kube-state-metrics:v1.2.0kube-state-metrics的图像。

我错过了什么?为什么CrashLoopBackOff的原因没有在查询中显示出来? 我想设置一个警报,找到处于等待状态的豆荚和原因。所以我想合并kube_pod_container_status_waiting以找到处于等待状态的吊舱,并且kube_pod_container_status_waiting_reason以找到确切的原因。

请协助。谢谢您的帮助!

kubernetes
prometheus
prometheus-alertmanager
prometheus-operator
kube-state-metrics
Preeti V
Preeti V
发布于 2018-12-18
1 个回答
Rico
Rico
发布于 2018-12-18
已采纳
0 人赞同

你遇到的是 this .基本上,看起来你在使用 kube-state-metrics 1.2.0 或更早。你看 ImagePullBackOff CrashLoopBackOff 被添加在 1.3.0 .

因此,将你的图像更新为。

k8s.gcr.io/kube-state-metrics:v1.3.0
quay.io/coreos/kube-state-metrics:v1.3.0