如果IBM Cloud Private附带的Prometheus频繁崩溃,请处理
经过
在IBM Cloud Private(ICP)中,Prometheus被默认安装。然而,在安装后不久,我们注意到Prometheus容器突然死机并反复重启。查看容器日志,可以看到服务正常启动,但过一段时间容器就会崩溃并重新启动。
总结一下,在节点的操作系统上运行了OOM Killer。
# dmesg | grep prometheus
[287787.255395] prometheus invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=984
[287787.255401] prometheus cpuset=2a3fd55af7e6b229ba978ee840e193c473c1b65a45ca9afbb5aba61073115f2f mems_allowed=0
[287787.255405] CPU: 0 PID: 24987 Comm: prometheus Kdump: loaded Not tainted 3.10.0-862.3.2.el7.x86_64 #1
[287787.255661] [24933] 0 24933 212094 129001 302 0 984 prometheus
[287787.255664] Memory cgroup out of memory: Kill process 25005 (prometheus) score 1969 or sacrifice child
[287787.258035] Killed process 24933 (prometheus) total-vm:848376kB, anon-rss:516004kB, file-rss:0kB, shmem-rss:0kB
当查看Prometheus的Pod定义时,发现内存限制为512MiB。让我们将其扩大一下。
$ kubectl get deployment monitoring-prometheus -n kube-system -o yaml
(略)
resources:
limits:
cpu: 500m
memory: 512Mi
步骤
$ kubectl edit deployment monitoring-prometheus -n kube-system
-> 先ほどの512Miを1Gi等に変えて保存
这样一来,部署将自动被撤销并以新的内存限制重新启动。真是太方便了。
以上就是全部。 (Zhè jiù shì .)