From e16aa93a07c45d5bdeffd484d793868d56369cb1 Mon Sep 17 00:00:00 2001 From: antonmatsiuk Date: Mon, 15 Feb 2021 11:49:07 +0100 Subject: [PATCH] bitnami/mysql: add `externalTrafficPolicy` to service type `LoadBalancer` (#5498) --- bitnami/mysql/Chart.yaml | 2 +- bitnami/mysql/README.md | 2 ++ bitnami/mysql/templates/primary/svc.yaml | 1 + bitnami/mysql/templates/secondary/svc.yaml | 1 + bitnami/mysql/values.yaml | 8 ++++++++ 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bitnami/mysql/Chart.yaml b/bitnami/mysql/Chart.yaml index 5985e4e0b7..f474c49380 100644 --- a/bitnami/mysql/Chart.yaml +++ b/bitnami/mysql/Chart.yaml @@ -25,4 +25,4 @@ name: mysql sources: - https://github.com/bitnami/bitnami-docker-mysql - https://mysql.com -version: 8.3.1 +version: 8.4.0 diff --git a/bitnami/mysql/README.md b/bitnami/mysql/README.md index f855d9912f..73cf44972c 100644 --- a/bitnami/mysql/README.md +++ b/bitnami/mysql/README.md @@ -141,6 +141,7 @@ The following table lists the configurable parameters of the MySQL chart and the | `primary.service.port` | MySQL Primary K8s service port | `3306` | | `primary.service.nodePort` | MySQL Primary K8s service node port | `nil` | | `primary.service.loadBalancerIP` | MySQL Primary loadBalancerIP if service type is `LoadBalancer` | `nil` | +| `primary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` | | `primary.service.loadBalancerSourceRanges` | Address that are allowed when MySQL Primary service is LoadBalancer | `[]` | | `primary.pdb.enabled` | Enable/disable a Pod Disruption Budget creation for MySQL primary pods | `false` | | `primary.pdb.minAvailable` | Minimum number/percentage of MySQL primary pods that should remain scheduled | `1` | @@ -196,6 +197,7 @@ The following table lists the configurable parameters of the MySQL chart and the | `secondary.service.port` | MySQL secondary K8s service port | `3306` | | `secondary.service.nodePort` | MySQL secondary K8s service node port | `nil` | | `secondary.service.loadBalancerIP` | MySQL secondary loadBalancerIP if service type is `LoadBalancer` | `nil` | +| `secondary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` | | `secondary.service.loadBalancerSourceRanges` | Address that are allowed when MySQL secondary service is LoadBalancer | `[]` | | `secondary.pdb.enabled` | Enable/disable a Pod Disruption Budget creation for MySQL secondary pods | `false` | | `secondary.pdb.minAvailable` | Minimum number/percentage of MySQL secondary pods that should remain scheduled | `1` | diff --git a/bitnami/mysql/templates/primary/svc.yaml b/bitnami/mysql/templates/primary/svc.yaml index d2e9a96c99..b46e6faa81 100644 --- a/bitnami/mysql/templates/primary/svc.yaml +++ b/bitnami/mysql/templates/primary/svc.yaml @@ -22,6 +22,7 @@ spec: {{- end }} {{- if and .Values.primary.service.loadBalancerIP (eq .Values.primary.service.type "LoadBalancer") }} loadBalancerIP: {{ .Values.primary.service.loadBalancerIP }} + externalTrafficPolicy: {{ .Values.primary.service.externalTrafficPolicy | quote }} {{- end }} {{- if and (eq .Values.primary.service.type "LoadBalancer") .Values.primary.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- toYaml .Values.primary.service.loadBalancerSourceRanges | nindent 4 }} diff --git a/bitnami/mysql/templates/secondary/svc.yaml b/bitnami/mysql/templates/secondary/svc.yaml index d033a979e3..74a4c6ef5f 100644 --- a/bitnami/mysql/templates/secondary/svc.yaml +++ b/bitnami/mysql/templates/secondary/svc.yaml @@ -23,6 +23,7 @@ spec: {{- end }} {{- if and .Values.secondary.service.loadBalancerIP (eq .Values.secondary.service.type "LoadBalancer") }} loadBalancerIP: {{ .Values.secondary.service.loadBalancerIP }} + externalTrafficPolicy: {{ .Values.secondary.service.externalTrafficPolicy | quote }} {{- end }} {{- if and (eq .Values.secondary.service.type "LoadBalancer") .Values.secondary.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- toYaml .Values.secondary.service.loadBalancerSourceRanges | nindent 4 }} diff --git a/bitnami/mysql/values.yaml b/bitnami/mysql/values.yaml index 47c5bbd2a2..2e11fa1024 100644 --- a/bitnami/mysql/values.yaml +++ b/bitnami/mysql/values.yaml @@ -380,6 +380,10 @@ primary: ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" + ## Enable client source IP preservation + ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + ## + externalTrafficPolicy: Cluster ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g. @@ -667,6 +671,10 @@ secondary: ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" + ## Enable client source IP preservation + ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + ## + externalTrafficPolicy: Cluster ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g.