6
votes

I am using the prometheus-operator helm chart. I want the data in prometheus server to persist. But open restart of the prometheus StatefulSet, the data disappears. When inspecting the yaml definitions of the associated StatefulSet and Pod objects, there is no PersistVolumeClaim.

I tried the following change to values.yaml, per the docs in https://github.com/helm/charts/tree/master/stable/prometheus:

prometheus:
  server:
    persistentVolume:
      enabled: true

but this has no effect on the end result (even after reinstalling the chart and reinstalling the StatefulSet).

I expect the StatefulSet backing the prometheus server to have persistent volume claims, so that data is persisted upon restart.

2
According to the docs server.persistentVolume.enabled=true by default. How do you installing the prometheus?abinet
Prometheus is presumably installed as part of the stable/prometheus-operator helm chart, as I never install it independently. I cannot follow the stable/prometheus-operator chart source code well enough to understand exactly where this happens.Jack Reilly

2 Answers

8
votes

By adding a prometheus.prometheusSpec.storageSpec to values.yaml, the PersistentVolumeClaim was successfully attached to the Prometheus server:

prometheus:
  server:
    persistentVolume:
      enabled: true
  prometheusSpec:
    storageSpec:
      volumeClaimTemplate:
        spec:
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 10Gi
4
votes

With latest Helm Chart this worked for me: (I'm using AWS)

prometheus:
  prometheusSpec:
    storageSpec:
      volumeClaimTemplate:
        spec:
          storageClassName: gp2
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 10Gi