搭建 Prometheus 的过程中,alertmanager-main 的 Status状态为CrashLoopBackoff
. 我的alertmanager-main svc下有三个alertmanager-main-0 alertmanager-main-1 alertmanager-main-2
1.检查状态
kubectl describe pod alertmanager-main-0 -n monitoring
- 1
输出的关键内容如下(Liveness probe failed
和Readiness probe failed
):
Warning Unhealthy 23m (x6 over 23m) kubelet, 192.168.6.11 Liveness probe failed: Get http://172.17.25.5:9093/-/healthy: dial tcp 172.17.25.5:9093: connect: connection refused
Warning Unhealthy 8m53s (x148 over 23m) kubelet, 192.168.6.11 Readiness probe failed: Get http://172.17.25.5:9093/-/ready: dial tcp 172.17.25.5:9093: connect: connection refused
Warning BackOff 3m51s (x34 over 12m) kubelet, 192.168.6.11 Back-off restarting failed container
- 1
- 2
- 3
2. 检查日志
kubectl logs alertmanager-main-0 -n monitoring
- 1
输出的日志为info,没有错误信息
level=info ts=2019-06-06T17:11:30.007373879Z caller=:177 msg="Starting Alertmanager" version="(version=0.16.1, branch=HEAD, revision=571caec278be1f0dbadfdf5effd0bbea16562cfc)"
level=info ts=2019-06-06T17:11:30.007550871Z caller=:178 build_context="(go=go1.11.5, user=root@3000aa3a06c5, date=20190131-15:05:40)"
- 1
- 2
3. 解决尝试1
先删除monitoring下面的所有pod,别担心,删除了pod会自动再创建
(前提是你的镜像没有问题), 注意自己挂载的文件
。
kubectl delete pod -all -n monitoring
- 1
再次get检查,如果还是没有成功
4. 检查自己的资源
我自己机器非常小,2核2G,因此我必须要更改副本数
,原来的副本数为3,现在更改为1
kubectl edit alertmanager-main -n monitoring
- 1
在编辑器中,将副本数改为1,然后保存并退出。
spec:
replicas: 1
- 1
- 2
确认 StatefulSet 更新状态
kubectl get statefulset alertmanager-main -n monitoring -o yaml | grep replicas
- 1
设置之后,我删除了alertmanager-main的pod。重新只启动了一个,但是没有再出现CrashLoopBackoff的错误。