From e698c26417128aca0de24170f3155894aa881d4c Mon Sep 17 00:00:00 2001 From: Karlo <72765825+karloramone@users.noreply.github.com> Date: Mon, 11 Dec 2023 14:58:42 +0100 Subject: [PATCH] [kube-prometheus-stack] Allow configuration of sessionAffinityConfig (#4076) * [kube-prometheus-stack] Allow configuration of sessionAffinityConfig Signed-off-by: karloramone * [kube-prometheus-stack] Bump chart version to 55.2.0 Signed-off-by: karloramone * [kube-prometheus-stack] Bump chart version to 55.3.0 Signed-off-by: karloramone --------- Signed-off-by: karloramone Signed-off-by: Karlo <72765825+karloramone@users.noreply.github.com> Co-authored-by: Quentin Bisson --- charts/kube-prometheus-stack/Chart.yaml | 2 +- .../templates/alertmanager/service.yaml | 5 ++++ .../templates/prometheus/service.yaml | 5 ++++ charts/kube-prometheus-stack/values.yaml | 23 ++++++++++++++++--- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/charts/kube-prometheus-stack/Chart.yaml b/charts/kube-prometheus-stack/Chart.yaml index 25894fe329cb..8a9917a83abf 100644 --- a/charts/kube-prometheus-stack/Chart.yaml +++ b/charts/kube-prometheus-stack/Chart.yaml @@ -21,7 +21,7 @@ name: kube-prometheus-stack sources: - https://github.com/prometheus-community/helm-charts - https://github.com/prometheus-operator/kube-prometheus -version: 55.2.0 +version: 55.3.0 appVersion: v0.70.0 kubeVersion: ">=1.19.0-0" home: https://github.com/prometheus-operator/kube-prometheus diff --git a/charts/kube-prometheus-stack/templates/alertmanager/service.yaml b/charts/kube-prometheus-stack/templates/alertmanager/service.yaml index f772ec628990..373de328a5ba 100644 --- a/charts/kube-prometheus-stack/templates/alertmanager/service.yaml +++ b/charts/kube-prometheus-stack/templates/alertmanager/service.yaml @@ -58,6 +58,11 @@ spec: alertmanager: {{ template "kube-prometheus-stack.alertmanager.crname" . }} {{- if .Values.alertmanager.service.sessionAffinity }} sessionAffinity: {{ .Values.alertmanager.service.sessionAffinity }} +{{- end }} +{{- if eq .Values.alertmanager.service.sessionAffinity "ClientIP" }} + sessionAffinityConfig: + clientIP: + timeoutSeconds: {{ .Values.alertmanager.service.sessionAffinityConfig.clientIP.timeoutSeconds }} {{- end }} type: "{{ .Values.alertmanager.service.type }}" {{- end }} diff --git a/charts/kube-prometheus-stack/templates/prometheus/service.yaml b/charts/kube-prometheus-stack/templates/prometheus/service.yaml index 7834dedd2f50..0ef8c7abe290 100644 --- a/charts/kube-prometheus-stack/templates/prometheus/service.yaml +++ b/charts/kube-prometheus-stack/templates/prometheus/service.yaml @@ -70,6 +70,11 @@ spec: operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }} {{- if .Values.prometheus.service.sessionAffinity }} sessionAffinity: {{ .Values.prometheus.service.sessionAffinity }} +{{- end }} +{{- if eq .Values.prometheus.service.sessionAffinity "ClientIP" }} + sessionAffinityConfig: + clientIP: + timeoutSeconds: {{ .Values.prometheus.service.sessionAffinityConfig.clientIP.timeoutSeconds }} {{- end }} type: "{{ .Values.prometheus.service.type }}" {{- end }} diff --git a/charts/kube-prometheus-stack/values.yaml b/charts/kube-prometheus-stack/values.yaml index a4ec9f72a1c9..ac2a98f1be67 100644 --- a/charts/kube-prometheus-stack/values.yaml +++ b/charts/kube-prometheus-stack/values.yaml @@ -498,9 +498,16 @@ alertmanager: externalTrafficPolicy: Cluster ## If you want to make sure that connections from a particular client are passed to the same Pod each time - ## Accepts 'ClientIP' or '' + ## Accepts 'ClientIP' or 'None' ## - sessionAffinity: "" + sessionAffinity: None + + ## If you want to modify the ClientIP sessionAffinity timeout + ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP" + ## + sessionAffinityConfig: + clientIP: + timeoutSeconds: 10800 ## Service type ## @@ -2885,7 +2892,17 @@ prometheus: ## Ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec publishNotReadyAddresses: false - sessionAffinity: "" + ## If you want to make sure that connections from a particular client are passed to the same Pod each time + ## Accepts 'ClientIP' or 'None' + ## + sessionAffinity: None + + ## If you want to modify the ClientIP sessionAffinity timeout + ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP" + ## + sessionAffinityConfig: + clientIP: + timeoutSeconds: 10800 ## Configuration for creating a separate Service for each statefulset Prometheus replica ##