Skip to content

Commit

Permalink
[CELEBORN-886][HELM] Support multiple celeborn clusters in the same K…
Browse files Browse the repository at this point in the history
…8s 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]>
  • Loading branch information
zwangsheng authored and waitinfuture committed Aug 22, 2023
1 parent 37e62f7 commit 86d78d9
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 22 deletions.
6 changes: 3 additions & 3 deletions charts/celeborn/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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 }}
Expand Down
2 changes: 1 addition & 1 deletion charts/celeborn/templates/master-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
12 changes: 6 additions & 6 deletions charts/celeborn/templates/master-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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:
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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 }}
Expand Down
8 changes: 6 additions & 2 deletions charts/celeborn/templates/prometheus-podmonitor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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 }}
Expand All @@ -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 }}
2 changes: 1 addition & 1 deletion charts/celeborn/templates/worker-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
13 changes: 6 additions & 7 deletions charts/celeborn/templates/worker-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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:
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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
Expand Down
2 changes: 0 additions & 2 deletions charts/celeborn/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 86d78d9

Please sign in to comment.