9

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.

Jack Reilly
  • 201
  • 1
  • 2
  • 6
  • According to the docs server.persistentVolume.enabled=true by default. How do you installing the prometheus? – abinet Jun 03 '19 at 10:00
  • 1
    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 Jun 03 '19 at 10:17

2 Answers2

11

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
Jack Reilly
  • 201
  • 1
  • 2
  • 6
10

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
Avner Tzur
  • 101
  • 1
  • 3