This is an automated email from the ASF dual-hosted git repository.
zhouky pushed a commit to branch branch-0.3
in repository https://gitbox.apache.org/repos/asf/incubator-celeborn.git
The following commit(s) were added to refs/heads/branch-0.3 by this push:
new a48e40f6f [CELEBORN-886][HELM] Support multiple celeborn clusters in
the same K8s namespace
a48e40f6f is described below
commit a48e40f6f53ff509b3fe0e803190fa6a48252eb0
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]>
(cherry picked from commit 86d78d9572ec89698be47cbb49fe49c331dc9579)
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