Browse Source

[Improvement][helm] configmap changes automatically trigger restart (#14657)

* [Improvement][helm] configmap changes automatically trigger restarts

Signed-off-by: Gallardot <gallardot@apache.org>

* feat: add an optional parameter

Signed-off-by: Gallardot <gallardot@apache.org>

---------

Signed-off-by: Gallardot <gallardot@apache.org>
Co-authored-by: Eric Gao <ericgao.apache@gmail.com>
Gallardot 1 year ago
parent
commit
11d1df2f32

+ 6 - 1
deploy/kubernetes/dolphinscheduler/templates/deployment-dolphinscheduler-alert.yaml

@@ -34,9 +34,14 @@ spec:
     metadata:
       labels:
         {{- include "dolphinscheduler.alert.labels" . | nindent 8 }}
-      {{- if .Values.alert.annotations }}
+      {{- if or .Values.alert.annotations .Values.conf.auto }}
       annotations:
+        {{- if .Values.conf.auto }}
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+        {{- end }}
+        {{- if .Values.alert.annotations }}
         {{- toYaml .Values.alert.annotations | nindent 8 }}
+        {{- end }}
       {{- end }}
     spec:
       serviceAccountName: {{ template "dolphinscheduler.fullname" . }}

+ 6 - 1
deploy/kubernetes/dolphinscheduler/templates/deployment-dolphinscheduler-api.yaml

@@ -34,9 +34,14 @@ spec:
     metadata:
       labels:
         {{- include "dolphinscheduler.api.labels" . | nindent 8 }}
-      {{- if .Values.api.annotations }}
+      {{- if or .Values.api.annotations .Values.conf.auto }}
       annotations:
+        {{- if .Values.conf.auto }}
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+        {{- end }}
+        {{- if .Values.api.annotations }}
         {{- toYaml .Values.api.annotations | nindent 8 }}
+        {{- end }}
       {{- end }}
     spec:
       serviceAccountName: {{ template "dolphinscheduler.fullname" . }}

+ 6 - 1
deploy/kubernetes/dolphinscheduler/templates/statefulset-dolphinscheduler-master.yaml

@@ -31,9 +31,14 @@ spec:
     metadata:
       labels:
         {{- include "dolphinscheduler.master.labels" . | nindent 8 }}
-      {{- if .Values.master.annotations }}
+      {{- if or .Values.master.annotations .Values.conf.auto  }}
       annotations:
+        {{- if .Values.conf.auto }}
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+        {{- end }}
+        {{- if .Values.master.annotations }}
         {{- toYaml .Values.master.annotations | nindent 8 }}
+        {{- end }}
       {{- end }}
     spec:
       serviceAccountName: {{ template "dolphinscheduler.fullname" . }}

+ 6 - 1
deploy/kubernetes/dolphinscheduler/templates/statefulset-dolphinscheduler-worker.yaml

@@ -31,9 +31,14 @@ spec:
     metadata:
       labels:
         {{- include "dolphinscheduler.worker.labels" . | nindent 8 }}
-      {{- if .Values.worker.annotations }}
+      {{- if or .Values.worker.annotations .Values.conf.auto }}
       annotations:
+        {{- if .Values.conf.auto }}
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+        {{- end }}
+        {{- if .Values.worker.annotations }}
         {{- toYaml .Values.worker.annotations | nindent 8 }}
+        {{- end }}
       {{- end }}
     spec:
       serviceAccountName: {{ template "dolphinscheduler.fullname" . }}

+ 3 - 0
deploy/kubernetes/dolphinscheduler/values.yaml

@@ -141,6 +141,9 @@ security:
         truststorepassword: ""
 
 conf:
+  # auto restart, if true, all components will be restarted automatically after the common configuration is updated. if false, you need to restart the components manually. default is false
+  auto: false
+  # common configuration
   common:
     # user data local directory path, please make sure the directory exists and have read write permissions
     data.basedir.path: /tmp/dolphinscheduler