This is an automated email from the ASF dual-hosted git repository.

zhouky pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-celeborn.git


The following commit(s) were added to refs/heads/main by this push:
     new 86d78d957 [CELEBORN-886][HELM] Support multiple celeborn clusters in 
the same K8s namespace
86d78d957 is described below

commit 86d78d9572ec89698be47cbb49fe49c331dc9579
Author: zwangsheng <[email protected]>
AuthorDate: Tue Aug 22 20:17:18 2023 +0800

    [CELEBORN-886][HELM] Support multiple celeborn clusters in the same K8s 
namespace
    
    ### What changes were proposed in this pull request?
    Use built-in helm var {{ .Release.Name }} to naming kubernetes resources, 
default with user input `celeborn`
    
    close #1762
    ```
    helm install celeborn charts/celeborn
    // release name is celeborn
    helm install celeborn-beta charts/celeborn
    // release name is celeborn-beta
    ```
    
    ### Why are the changes needed?
    Support multiple celeborn clusters in the same k8s namespace
    
    ### Does this PR introduce _any_ user-facing change?
    Yes
    
    ### How was this patch tested?
    GA and IT
    
    Closes #1804 from zwangsheng/CELEBORN-886.
    
    Authored-by: zwangsheng <[email protected]>
    Signed-off-by: zky.zhoukeyong <[email protected]>
---
 charts/celeborn/templates/configmap.yaml             |  6 +++---
 charts/celeborn/templates/master-service.yaml        |  2 +-
 charts/celeborn/templates/master-statefulset.yaml    | 12 ++++++------
 charts/celeborn/templates/prometheus-podmonitor.yaml |  8 ++++++--
 charts/celeborn/templates/worker-service.yaml        |  2 +-
 charts/celeborn/templates/worker-statefulset.yaml    | 13 ++++++-------
 charts/celeborn/values.yaml                          |  2 --
 7 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/charts/celeborn/templates/configmap.yaml 
b/charts/celeborn/templates/configmap.yaml
index 849dcbcbc..546d41114 100644
--- a/charts/celeborn/templates/configmap.yaml
+++ b/charts/celeborn/templates/configmap.yaml
@@ -18,7 +18,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: celeborn-conf
+  name: {{ .Release.Name }}-conf
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
@@ -29,9 +29,9 @@ metadata:
 data:
   celeborn-defaults.conf: |-
     {{- $namespace := .Release.Namespace }}
-    celeborn.master.endpoints={{ range until (.Values.masterReplicas |int) 
}}celeborn-master-{{ . }}.celeborn-master-svc.{{ $namespace }}.svc.{{ 
$.Values.cluster.name }}.local,{{ end }}
+    celeborn.master.endpoints={{ range until (.Values.masterReplicas |int) 
}}{{ $.Release.Name }}-master-{{ . }}.{{ $.Release.Name }}-master-svc.{{ 
$namespace }}.svc.{{ $.Values.cluster.name }}.local,{{ end }}
     {{- range until (.Values.masterReplicas |int) }}
-    celeborn.master.ha.node.{{ . }}.host=celeborn-master-{{ . 
}}.celeborn-master-svc.{{ $namespace }}.svc.{{ $.Values.cluster.name }}.local
+    celeborn.master.ha.node.{{ . }}.host={{ $.Release.Name }}-master-{{ . 
}}.{{ $.Release.Name }}-master-svc.{{ $namespace }}.svc.{{ 
$.Values.cluster.name }}.local
     {{- end }}
     {{- $dirs := .Values.volumes.master }}
     celeborn.master.ha.ratis.raft.server.storage.dir={{ (index $dirs 
0).mountPath }}
diff --git a/charts/celeborn/templates/master-service.yaml 
b/charts/celeborn/templates/master-service.yaml
index 09e0bc12b..667834a0c 100644
--- a/charts/celeborn/templates/master-service.yaml
+++ b/charts/celeborn/templates/master-service.yaml
@@ -18,7 +18,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: celeborn-master-svc
+  name: {{ .Release.Name }}-master-svc
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
diff --git a/charts/celeborn/templates/master-statefulset.yaml 
b/charts/celeborn/templates/master-statefulset.yaml
index be25769fc..e9c686393 100644
--- a/charts/celeborn/templates/master-statefulset.yaml
+++ b/charts/celeborn/templates/master-statefulset.yaml
@@ -18,7 +18,7 @@
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: celeborn-master
+  name: {{ .Release.Name }}-master
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
@@ -35,7 +35,7 @@ spec:
       app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
       app.kubernetes.io/role: master
       {{- include "celeborn.selectorLabels" . | nindent 6 }}
-  serviceName: celeborn-master-svc
+  serviceName: {{ .Release.Name }}-master-svc
   replicas: {{ .Values.masterReplicas }}
   template:
     metadata:
@@ -99,7 +99,7 @@ spec:
           - "/bin/sh"
           - '-c'
           {{- $namespace := .Release.Namespace }}
-          - "until {{ range until (.Values.masterReplicas |int) }}nslookup 
celeborn-master-{{ . }}.celeborn-master-svc.{{ $namespace }}.svc.{{ 
$.Values.cluster.name }}.local && {{ end }}true; do echo waiting for master; 
sleep 2; done && exec /opt/celeborn/sbin/start-master.sh"
+          - "until {{ range until (.Values.masterReplicas |int) }}nslookup {{ 
$.Release.Name }}-master-{{ . }}.{{ $.Release.Name }}-master-svc.{{ $namespace 
}}.svc.{{ $.Values.cluster.name }}.local && {{ end }}true; do echo waiting for 
master; sleep 2; done && exec /opt/celeborn/sbin/start-master.sh"
         resources:
           {{- toYaml .Values.resources.master | nindent 12 }}
         ports:
@@ -112,7 +112,7 @@ spec:
             name: {{ include "celeborn.fullname" . }}-volume
             readOnly: true
           {{- range $index, $volume := .Values.volumes.master }}
-          - name: celeborn-master-vol-{{ $index }}
+          - name: {{ $.Release.Name }}-master-vol-{{ $index }}
             mountPath: {{ .mountPath }}
           {{- end }}
         env:
@@ -123,10 +123,10 @@ spec:
       terminationGracePeriodSeconds: 30 
       volumes:
         - configMap:
-            name: {{ .Values.configmap }}
+            name: {{ .Release.Name }}-conf
           name: {{ include "celeborn.fullname" . }}-volume
         {{- range $index, $volume := .Values.volumes.master }}
-        - name: celeborn-master-vol-{{ $index }}
+        - name: {{ $.Release.Name }}-master-vol-{{ $index }}
         {{- if eq "emptyDir" $volume.type }}
           emptyDir:
             sizeLimit: {{ $volume.size }}
diff --git a/charts/celeborn/templates/prometheus-podmonitor.yaml 
b/charts/celeborn/templates/prometheus-podmonitor.yaml
index 0683ac9e8..bfee5ffee 100644
--- a/charts/celeborn/templates/prometheus-podmonitor.yaml
+++ b/charts/celeborn/templates/prometheus-podmonitor.yaml
@@ -20,7 +20,7 @@
 apiVersion: monitoring.coreos.com/v1
 kind: PodMonitor
 metadata:
-  name: celeborn-master-podmonitor
+  name: {{ .Release.Name }}-master-podmonitor
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
@@ -40,12 +40,14 @@ spec:
       - {{ .Release.Namespace }}
   selector:
     matchLabels:
+      app.kubernetes.io/name: {{ .Chart.Name }}
+      app.kubernetes.io/instance: {{ .Release.Name }}
       app.kubernetes.io/role: master
 ---
 apiVersion: monitoring.coreos.com/v1
 kind: PodMonitor
 metadata:
-  name: celeborn-worker-podmonitor
+  name: {{ .Release.Name }}-worker-podmonitor
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
@@ -65,6 +67,8 @@ spec:
       - {{ .Release.Namespace }}
   selector:
     matchLabels:
+      app.kubernetes.io/name: {{ .Chart.Name }}
+      app.kubernetes.io/instance: {{ .Release.Name }}
       app.kubernetes.io/role: worker
 {{ end }}
 {{- end }}
diff --git a/charts/celeborn/templates/worker-service.yaml 
b/charts/celeborn/templates/worker-service.yaml
index d1daaae07..6b47b958f 100644
--- a/charts/celeborn/templates/worker-service.yaml
+++ b/charts/celeborn/templates/worker-service.yaml
@@ -18,7 +18,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: celeborn-worker-svc
+  name: {{ .Release.Name }}-worker-svc
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
diff --git a/charts/celeborn/templates/worker-statefulset.yaml 
b/charts/celeborn/templates/worker-statefulset.yaml
index 0a4ab5756..e5a6d0d70 100644
--- a/charts/celeborn/templates/worker-statefulset.yaml
+++ b/charts/celeborn/templates/worker-statefulset.yaml
@@ -18,7 +18,7 @@
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: celeborn-worker
+  name: {{ .Release.Name }}-worker
   labels:
     helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
     app.kubernetes.io/name: {{ .Chart.Name }}
@@ -35,7 +35,7 @@ spec:
       app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
       app.kubernetes.io/role: worker
       {{- include "celeborn.selectorLabels" . | nindent 6 }}
-  serviceName: celeborn-worker
+  serviceName: {{ .Release.Name }}-worker
   replicas: {{ .Values.workerReplicas }}
   template:
     metadata:
@@ -103,7 +103,7 @@ spec:
           - "/bin/sh"
           - '-c'
           {{- $namespace := .Release.Namespace }}
-          - "until {{ range until (.Values.masterReplicas |int) }}nslookup 
celeborn-master-{{ . }}.celeborn-master-svc.{{ $namespace }}.svc.{{ 
$.Values.cluster.name }}.local && {{ end }}true; do echo waiting for master; 
sleep 2; done && exec /opt/celeborn/sbin/start-worker.sh"
+          - "until {{ range until (.Values.masterReplicas |int) }}nslookup {{ 
$.Release.Name }}-master-{{ . }}.{{ $.Release.Name }}-master-svc.{{ $namespace 
}}.svc.{{ $.Values.cluster.name }}.local && {{ end }}true; do echo waiting for 
master; sleep 2; done && exec /opt/celeborn/sbin/start-worker.sh"
         resources:
           {{- toYaml .Values.resources.worker | nindent 12 }}
         ports:
@@ -117,7 +117,7 @@ spec:
             readOnly: true
           {{- end }}
           {{- range $index, $volume := .Values.volumes.worker }}
-          - name: celeborn-worker-vol-{{ $index }}
+          - name: {{ $.Release.Name }}-worker-vol-{{ $index }}
             mountPath: {{ .mountPath }}
           {{- end }}
         env:
@@ -128,15 +128,14 @@ spec:
       terminationGracePeriodSeconds: 30
       volumes:
         - configMap:
-            name: {{ .Values.configmap }}
+            name: {{ .Release.Name }}-conf
           name: {{ include "celeborn.fullname" . }}-volume
         {{- range $index, $volume := .Values.volumes.worker }}
+        - name: {{ $.Release.Name }}-worker-vol-{{ $index }}
         {{- if eq "emptyDir" $volume.type }}
-        - name: celeborn-worker-vol-{{ $index }}
           emptyDir:
             sizeLimit: {{ $volume.size }}
         {{- else if eq "hostPath" $volume.type }}
-        - name: celeborn-worker-vol-{{ $index }}
           hostPath:
             path: {{ $volume.hostPath | default $volume.mountPath }}/worker
             type: DirectoryOrCreate
diff --git a/charts/celeborn/values.yaml b/charts/celeborn/values.yaml
index 08bbdc898..d0b884019 100644
--- a/charts/celeborn/values.yaml
+++ b/charts/celeborn/values.yaml
@@ -118,8 +118,6 @@ service:
 cluster:
   name: cluster
 
-configmap: celeborn-conf
-
 resources: {}
   # We usually recommend not to specify default resources and to leave this as 
a conscious
   # choice for the user. This also increases chances charts run on 
environments with little

Reply via email to