我在本手册的Kubernetes中部署了prometheus
发明了一种存储方案:kubernetes中的Prometeus在24小时内存储指标。不在kubernetes中的Prometheus在1周内存储指标。他们之间建立了一个联盟。
他们面临这样一个事实,即在一段时间(远少于24小时)后移除豆荚后,上面缺少指标。
如果您没有为prometheus pod配置持久存储,这是完全正常的。您应该使用PV/PVC来定义一个稳定的位置来保存prometheus数据,否则如果您的pod被重新创建,它将以全新的方式开始。
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节点不会崩溃。