From e0f1aaca18df7ff628cc675ad1acda9c2c7d7d79 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Thu, 9 Feb 2023 23:29:11 +0800 Subject: [PATCH] chart: Support custom labels variable for etcd Signed-off-by: xin.li --- charts/karmada/README.md | 2 ++ charts/karmada/templates/_helpers.tpl | 18 ++++++++++++++++++ charts/karmada/templates/etcd.yaml | 15 ++++++++------- charts/karmada/values.yaml | 5 +++++ 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/charts/karmada/README.md b/charts/karmada/README.md index 02af8474c548..45940cb57a66 100644 --- a/charts/karmada/README.md +++ b/charts/karmada/README.md @@ -201,6 +201,8 @@ helm install karmada-scheduler-estimator -n karmada-system ./charts/karmada | `certs.custom.frontProxyCaCrt` | CA CRT of the front proxy certificate | `""` | | `certs.custom.frontProxyCrt` | CRT of the front proxy certificate | `""` | | `certs.custom.frontProxyKey` | KEY of the front proxy certificate | `""` | +| `etcd.labels` | Labels of etcd statefulset | `{"app": "etcd"}` | +| `etcd.podLabels` | Labels of etcd pods | `{}` | | `etcd.mode` | Mode "external" and "internal" are provided, "external" means use external ectd, "internal" means install a etcd in the cluster | `"internal"` | | `etcd.external.servers` | Servers of etcd | `""` | | `etcd.external.registryPrefix` | Use to registry prefix of etcd | `"/registry/karmada"` | diff --git a/charts/karmada/templates/_helpers.tpl b/charts/karmada/templates/_helpers.tpl index f88f7c32ab89..48ac0f673ef7 100644 --- a/charts/karmada/templates/_helpers.tpl +++ b/charts/karmada/templates/_helpers.tpl @@ -26,6 +26,24 @@ app: {{- include "karmada.name" .}}-apiserver {{- end }} {{- end -}} +{{- define "karmada.etcd.labels" -}} +{{- if .Values.etcd.labels }} +{{- range $key, $value := .Values.etcd.labels }} +{{ $key }}: {{ $value }} +{{- end }} +{{- else}} +app: etcd +{{- end }} +{{- end -}} + +{{- define "karmada.etcd.podLabels" -}} +{{- if .Values.etcd.podLabels }} +{{- range $key, $value := .Values.etcd.podLabels }} +{{ $key }}: {{ $value }} +{{- end }} +{{- end }} +{{- end -}} + {{- define "karmada.aggregatedApiserver.labels" -}} {{- if .Values.aggregatedApiServer.labels }} {{- range $key, $value := .Values.aggregatedApiServer.labels }} diff --git a/charts/karmada/templates/etcd.yaml b/charts/karmada/templates/etcd.yaml index 462414b73943..c4f6017f7504 100644 --- a/charts/karmada/templates/etcd.yaml +++ b/charts/karmada/templates/etcd.yaml @@ -14,19 +14,20 @@ metadata: name: etcd namespace: {{ include "karmada.namespace" . }} labels: - app: etcd + {{- include "karmada.etcd.labels" . | nindent 4 }} spec: replicas: {{ .Values.etcd.internal.replicaCount }} serviceName: etcd selector: matchLabels: - app: etcd + {{- include "karmada.etcd.labels" . | nindent 6 }} updateStrategy: type: RollingUpdate template: metadata: labels: - app: etcd + {{- include "karmada.etcd.labels" . | nindent 8 }} + {{- include "karmada.etcd.podLabels" . | nindent 8 }} spec: automountServiceAccountToken: false {{- include "karmada.internal.etcd.imagePullSecrets" . | nindent 6 }} @@ -126,7 +127,7 @@ apiVersion: v1 kind: Service metadata: labels: - app: etcd + {{- include "karmada.scheduler.labels" . | nindent 4 }} name: etcd-client namespace: {{ include "karmada.namespace" . }} spec: @@ -136,13 +137,13 @@ spec: protocol: TCP targetPort: 2379 selector: - app: etcd + {{- include "karmada.scheduler.labels" . | nindent 4 }} --- apiVersion: v1 kind: Service metadata: labels: - app: etcd + {{- include "karmada.scheduler.labels" . | nindent 4 }} name: etcd namespace: {{ include "karmada.namespace" . }} spec: @@ -157,5 +158,5 @@ spec: targetPort: 2380 clusterIP: None selector: - app: etcd + {{- include "karmada.scheduler.labels" . | nindent 4 }} {{- end }} diff --git a/charts/karmada/values.yaml b/charts/karmada/values.yaml index 52450204c896..445e57f0cf04 100644 --- a/charts/karmada/values.yaml +++ b/charts/karmada/values.yaml @@ -494,6 +494,11 @@ kubeControllerManager: ## etcd config etcd: + ## @param etcd.labels labels of the etcd statefulset + labels: + app: etcd + ## @param etcd.labels labels of the etcd pods + podLabels: {} ## @param etcd.mode "external" and "internal" are provided ## "external" means use external ectd ## "internal" means install a etcd in the cluster