我在this手册
上在kubernetes中部署prometheus发明存储方案: kubernetes中的Prometeus会在24小时内存储指标。 不在kubernetes的普罗米修斯在1周内存储指标。 他们之间建立了一个联盟。
谁面临这样一个事实,即在一段时间(大约不到24小时)之后移除豆荚后,其中缺少指标。
答案 0 :(得分:1)
如果没有为prometheus pod配置持久性存储,这是完全正常的。您应该使用PV / PVC来定义一个保存prometheus数据的稳定位置,否则如果您重新创建了pod,则会从一个干净的平板开始。
答案 1 :(得分:0)
PV / PVC需要群集中的专用存储服务器。如果存储服务器没有钱,这是一种更便宜的方法:
标记节点:
$ kubectl label nodes <node name> prometheus=yes
使用nodeSelector
强制在同一标记节点上创建所有prometheus pod:
nodeSelector:
prometheus: yes
为每个prometheus pod创建一个emptyDir
卷。当Prometheus pod分配给标记节点时,首先会创建emptyDir
卷,只要该Pod在该节点上运行,并且在容器崩溃和pod重新启动时都是安全的。
spec:
containers:
- image: <prometheus image>
name: <prometheus pod name>
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}
这种方法使得所有Prometheus pod都在同一节点上运行,并为指标提供持久存储 - 一种更便宜的方法可以祈祷Prometheus节点不会崩溃。