From 7a2f100913d680d6637a52daa00237dada3fda6c Mon Sep 17 00:00:00 2001 From: Michael Goodness Date: Thu, 19 Jan 2017 15:47:02 -0600 Subject: [PATCH] Prometheus: provide options to use existing PVCs (#252) * Provide options to use existing PVCs * Added persistentVolume.existingClaim options for alertmanager & server * If defined, use those named PVCs. Else create new ones using template * Documentation * chart version bump --- stable/prometheus/Chart.yaml | 2 +- stable/prometheus/README.md | 2 ++ .../templates/alertmanager-deployment.yaml | 2 +- stable/prometheus/templates/alertmanager-pvc.yaml | 2 ++ stable/prometheus/templates/server-deployment.yaml | 2 +- stable/prometheus/templates/server-pvc.yaml | 2 ++ stable/prometheus/values.yaml | 14 ++++++++++++-- 7 files changed, 21 insertions(+), 5 deletions(-) diff --git a/stable/prometheus/Chart.yaml b/stable/prometheus/Chart.yaml index 22090b965c..e355cb4f3a 100755 --- a/stable/prometheus/Chart.yaml +++ b/stable/prometheus/Chart.yaml @@ -1,5 +1,5 @@ name: prometheus -version: 2.0.0 +version: 2.0.1 description: A Prometheus Helm chart for Kubernetes. Prometheus is a monitoring system and time series database. home: https://prometheus.io/ sources: diff --git a/stable/prometheus/README.md b/stable/prometheus/README.md index 0032eb7bf2..8d595ecc87 100644 --- a/stable/prometheus/README.md +++ b/stable/prometheus/README.md @@ -54,6 +54,7 @@ The following tables lists the configurable parameters of the Prometheus chart a | `alertmanager.name` | Alertmanager container name | `alertmanager` | | `alertmanager.persistentVolume.enabled` | If true, AlertManager will create a Persistent Volume Claim | `true` | | `alertmanager.persistentVolume.accessModes` | AlertManager data Persistent Volume access modes | `[ReadWriteOnce]` | +| `alertmanager.persistentVolume.existingClaim` | AlertManager data Persistent Volume existing claim name | | | `alertmanager.persistentVolume.size` | AlertManager data Persistent Volume size | `2Gi` | | `alertmanager.persistentVolume.storageClass` | AlertManager data Persistent Volume Storage Class | `volume.alpha.kubernetes.io/storage-class: default` | | `alertmanager.resources` | Alertmanager resource requests and limits (YAML) |`requests: {cpu: 10m, memory: 32Mi}` | @@ -81,6 +82,7 @@ The following tables lists the configurable parameters of the Prometheus chart a | `server.persistentVolume.enabled` | If true, Server will create a Persistent Volume Claim | `false` | | `server.persistentVolume.accessModes` | Server data Persistent Volume access modes | `[ReadWriteOnce]` | | `server.persistentVolume.annotations` | Server data Persistent Volume annotations | `[]` | +| `server.persistentVolume.existingClaim` | Server data Persistent Volume existing claim name | | | `server.persistentVolume.size` | Server data Persistent Volume size | `8Gi` | | `server.persistentVolume.storageClass` | Server data Persistent Volume Storage Class | `volume.alpha.kubernetes.io/storage-class: default` | | `server.resources` | Server resource requests and limits | `requests: {cpu: 500m, memory: 512Mi}` | diff --git a/stable/prometheus/templates/alertmanager-deployment.yaml b/stable/prometheus/templates/alertmanager-deployment.yaml index ee9102179b..3afe051db1 100644 --- a/stable/prometheus/templates/alertmanager-deployment.yaml +++ b/stable/prometheus/templates/alertmanager-deployment.yaml @@ -56,7 +56,7 @@ spec: - name: storage-volume {{- if .Values.alertmanager.persistentVolume.enabled }} persistentVolumeClaim: - claimName: {{ template "alertmanager.fullname" . }} + claimName: {{ if .Values.alertmanager.persistentVolume.existingClaim }}{{ .Values.alertmanager.persistentVolume.existingClaim }}{{- else }}{{ template "alertmanager.fullname" . }}{{- end }} {{- else }} emptyDir: {} {{- end -}} diff --git a/stable/prometheus/templates/alertmanager-pvc.yaml b/stable/prometheus/templates/alertmanager-pvc.yaml index fbf2bb85c6..a363123b30 100644 --- a/stable/prometheus/templates/alertmanager-pvc.yaml +++ b/stable/prometheus/templates/alertmanager-pvc.yaml @@ -1,4 +1,5 @@ {{- if .Values.alertmanager.persistentVolume.enabled -}} +{{- if not .Values.alertmanager.persistentVolume.existingClaim -}} apiVersion: v1 kind: PersistentVolumeClaim metadata: @@ -27,3 +28,4 @@ spec: requests: storage: {{ .Values.alertmanager.persistentVolume.size | quote }} {{- end -}} +{{- end -}} diff --git a/stable/prometheus/templates/server-deployment.yaml b/stable/prometheus/templates/server-deployment.yaml index ef93f5bb1f..ff20cdeea1 100644 --- a/stable/prometheus/templates/server-deployment.yaml +++ b/stable/prometheus/templates/server-deployment.yaml @@ -67,7 +67,7 @@ spec: - name: storage-volume {{- if .Values.server.persistentVolume.enabled }} persistentVolumeClaim: - claimName: {{ template "server.fullname" . }} + claimName: {{ if .Values.server.persistentVolume.existingClaim }}{{ .Values.server.persistentVolume.existingClaim }}{{- else }}{{ template "server.fullname" . }}{{- end }} {{- else }} emptyDir: {} {{- end -}} diff --git a/stable/prometheus/templates/server-pvc.yaml b/stable/prometheus/templates/server-pvc.yaml index f78c5fa2f8..ef10be6cc9 100644 --- a/stable/prometheus/templates/server-pvc.yaml +++ b/stable/prometheus/templates/server-pvc.yaml @@ -1,4 +1,5 @@ {{- if .Values.server.persistentVolume.enabled -}} +{{- if not .Values.server.persistentVolume.existingClaim -}} apiVersion: v1 kind: PersistentVolumeClaim metadata: @@ -27,3 +28,4 @@ spec: requests: storage: {{ .Values.server.persistentVolume.size | quote }} {{- end -}} +{{- end -}} diff --git a/stable/prometheus/values.yaml b/stable/prometheus/values.yaml index 865da65edc..648222044b 100644 --- a/stable/prometheus/values.yaml +++ b/stable/prometheus/values.yaml @@ -42,7 +42,7 @@ alertmanager: name: alertmanager persistentVolume: - ## If true, AlertManager will create a Persistent Volume Claim + ## If true, AlertManager will create/use a Persistent Volume Claim ## If false, use emptyDir ## enabled: true @@ -58,6 +58,11 @@ alertmanager: ## # annotations: + ## AlertManager data Persistent Volume existing claim name + ## Requires alertmanager.persistentVolume.enabled: true + ## If defined, PVC must be created manually before volume will be bound + # existingClaim: + ## AlertManager data Persistent Volume size ## size: 2Gi @@ -192,7 +197,7 @@ server: name: server persistentVolume: - ## If true, Server will create a Persistent Volume Claim + ## If true, Server will create/use a Persistent Volume Claim ## If false, use emptyDir ## enabled: true @@ -208,6 +213,11 @@ server: ## # annotations: + ## Server data Persistent Volume existing claim name + ## Requires server.persistentVolume.enabled: true + ## If defined, PVC must be created manually before volume will be bound + # existingClaim: + ## Server data Persistent Volume size ## size: 8Gi