diff --git a/stable/prometheus/Chart.yaml b/stable/prometheus/Chart.yaml index 0250f4990c..b2d9f43cb8 100755 --- a/stable/prometheus/Chart.yaml +++ b/stable/prometheus/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: prometheus -version: 9.5.5 +version: 9.5.6 appVersion: 2.13.1 description: Prometheus is a monitoring system and time series database. home: https://prometheus.io/ diff --git a/stable/prometheus/README.md b/stable/prometheus/README.md index b4811c400b..952ec4cc1c 100644 --- a/stable/prometheus/README.md +++ b/stable/prometheus/README.md @@ -313,6 +313,8 @@ Parameter | Description | Default `server.service.servicePort` | Prometheus server service port | `80` `server.service.sessionAffinity` | Session Affinity for server service, can be `None` or `ClientIP` | `None` `server.service.type` | type of Prometheus server service to create | `ClusterIP` +`server.service.statefulsetReplica.enabled` | If true, send the traffic from the service to only one replica of the replicaset | `false` +`server.service.statefulsetReplica.replica` | Which replica to send the traffice to | `0` `server.sidecarContainers` | array of snippets with your sidecar containers for prometheus server | `""` `serviceAccounts.alertmanager.create` | If true, create the alertmanager service account | `true` `serviceAccounts.alertmanager.name` | name of the alertmanager service account to use or create | `{{ prometheus.alertmanager.fullname }}` diff --git a/stable/prometheus/templates/server-service.yaml b/stable/prometheus/templates/server-service.yaml index f837745119..a0c88eedd6 100644 --- a/stable/prometheus/templates/server-service.yaml +++ b/stable/prometheus/templates/server-service.yaml @@ -38,9 +38,13 @@ spec: nodePort: {{ .Values.server.service.nodePort }} {{- end }} selector: + {{- if and .Values.server.statefulSet.enabled .Values.server.service.statefulsetReplica.enabled }} + statefulset.kubernetes.io/pod-name: {{ .Release.Name }}-{{ .Values.server.name }}-{{ .Values.server.service.statefulsetReplica.replica }} + {{- else -}} {{- include "prometheus.server.matchLabels" . | nindent 4 }} {{- if .Values.server.service.sessionAffinity }} sessionAffinity: {{ .Values.server.service.sessionAffinity }} {{- end }} + {{- end }} type: "{{ .Values.server.service.type }}" {{- end -}} diff --git a/stable/prometheus/values.yaml b/stable/prometheus/values.yaml index 7fba509ece..51bcb7b6e6 100644 --- a/stable/prometheus/values.yaml +++ b/stable/prometheus/values.yaml @@ -858,6 +858,13 @@ server: sessionAffinity: None type: ClusterIP + ## If using a statefulSet (statefulSet.enabled=true), configure the + ## service to connect to a specific replica to have a consistent view + ## of the data. + statefulsetReplica: + enabled: false + replica: 0 + ## Prometheus server pod termination grace period ## terminationGracePeriodSeconds: 300