Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to enable persistence in helm prometheus-operator

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.

like image 850
Jack Reilly Avatar asked May 31 '19 08:05

Jack Reilly


2 Answers

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
like image 94
Jack Reilly Avatar answered Oct 04 '22 05:10

Jack Reilly


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
like image 39
Avner Tzur Avatar answered Oct 04 '22 03:10

Avner Tzur