Skip to content

Commit 14a5adf

Browse files
lbrindzeClimaBot
andauthored
Add volumes and volume mounts to jupyter and worker configs (#102)
* adding volumes and volume mounts to jupyter and worker configs * autogenerating readme per docs * fix(README.md) updated wrong readme... duh * adding readme * updated readme Co-authored-by: ClimaBot <ci-bot@climacell.co>
1 parent 106c126 commit 14a5adf

4 files changed

Lines changed: 32 additions & 0 deletions

File tree

dask/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ The following table lists the configurable parameters of the Dask chart and thei
8888
| `worker.default_resources.memory` | Default memory (deprecated use `resources`). | `"4GiB"` |
8989
| `worker.env` | Environment variables. see `values.yaml` for example values. | `null` |
9090
| `worker.resources` | Worker pod resources. see `values.yaml` for example values. | `{}` |
91+
| `worker.mounts` | Worker pod volumes and volume mounts, mounts.volumes follows kuberentes api v1 volumes spec. mounts.volumemounts follows kubernetesapi v1 volumemount spec | `{}` |
9192
| `worker.tolerations` | Tolerations. | `[]` |
9293
| `worker.affinity` | Container affinity. | `{}` |
9394
| `worker.nodeSelector` | Node selector. | `{}` |
@@ -108,6 +109,7 @@ The following table lists the configurable parameters of the Dask chart and thei
108109
| `jupyter.args` | Container arguments. | `null` |
109110
| `jupyter.extraConfig` | | `"# Extra Jupyter config goes here\n# E.g\n# c.NotebookApp.port = 8888"` |
110111
| `jupyter.resources` | Jupyter pod resources. see `values.yaml` for example values. | `{}` |
112+
| `jupyter.mounts` | Worker pod volumes and volume mounts, mounts.volumes follows kuberentes api v1 volumes spec. mounts.volumemounts follows kubernetesapi v1 volumemount spec | `{}` |
111113
| `jupyter.tolerations` | Tolerations. | `[]` |
112114
| `jupyter.affinity` | Container affinity. | `{}` |
113115
| `jupyter.nodeSelector` | Node selector. | `{}` |

dask/templates/dask-jupyter-deployment.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,19 @@ spec:
4747
volumeMounts:
4848
- name: config-volume
4949
mountPath: /usr/local/etc/jupyter
50+
{{- if .Values.worker.mounts.volumeMounts }}
51+
{{- toYaml .Values.worker.mounts.volumeMounts | nindent 12 }}
52+
{{- end }}
5053
env:
5154
- name: DASK_SCHEDULER_ADDRESS
5255
value: {{ template "dask.fullname" . }}-scheduler:{{ .Values.scheduler.servicePort }}
5356
{{- if .Values.jupyter.env }}
5457
{{- toYaml .Values.jupyter.env | nindent 12 }}
5558
{{- end }}
5659
volumes:
60+
{{- if .Values.jupyter.mounts.volumes }}
61+
{{- toYaml .Values.worker.mounts.volumes | nindent 8}}
62+
{{- end }}
5763
- name: config-volume
5864
configMap:
5965
name: {{ template "dask.fullname" . }}-jupyter-config

dask/templates/dask-worker-deployment.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ spec:
2626
spec:
2727
imagePullSecrets:
2828
{{- toYaml .Values.worker.image.pullSecrets | nindent 8 }}
29+
{{- if .Values.worker.mounts.volumes }}
30+
volumes:
31+
{{- toYaml .Values.worker.mounts.volumes | nindent 8}}
32+
{{- end }}
2933
containers:
3034
- name: {{ template "dask.fullname" . }}-worker
3135
image: "{{ .Values.worker.image.repository }}:{{ .Values.worker.image.tag }}"
@@ -50,6 +54,11 @@ spec:
5054
{{- toYaml .Values.worker.resources | nindent 12 }}
5155
env:
5256
{{- toYaml .Values.worker.env | nindent 12 }}
57+
58+
{{- if .Values.worker.mounts.volumeMounts }}
59+
volumeMounts:
60+
{{- toYaml .Values.worker.mounts.volumeMounts | nindent 12 }}
61+
{{- end }}
5362
{{- with .Values.worker.nodeSelector }}
5463
nodeSelector:
5564
{{- toYaml . | nindent 8 }}

dask/values.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ worker:
6969
# cpu: 1
7070
# memory: 3G
7171
# nvidia.com/gpu: 1
72+
mounts: {} # Worker Pod volumes and volume mounts, mounts.volumes follows kuberentes api v1 Volumes spec. mounts.volumeMounts follows kubernetesapi v1 VolumeMount spec
73+
# volumes:
74+
# - name: data
75+
# emptyDir: {}
76+
# volumeMounts:
77+
# - name: data
78+
# mountPath: /data
7279
tolerations: [] # Tolerations.
7380
affinity: {} # Container affinity.
7481
nodeSelector: {} # Node Selector.
@@ -89,6 +96,7 @@ jupyter:
8996
pullPolicy: IfNotPresent # Container image pull policy.
9097
pullSecrets: # Container image [pull secrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).
9198
# - name: regcred
99+
#
92100
replicas: 1 # Number of notebook servers.
93101
serviceType: "ClusterIP" # Scheduler service type. Set to `LoadBalancer` to expose outside of your cluster.
94102
# serviceType: "NodePort"
@@ -117,6 +125,13 @@ jupyter:
117125
# requests:
118126
# cpu: 2
119127
# memory: 6G
128+
mounts: {} # Worker Pod volumes and volume mounts, mounts.volumes follows kuberentes api v1 Volumes spec. mounts.volumeMounts follows kubernetesapi v1 VolumeMount spec
129+
# volumes:
130+
# - name: data
131+
# emptyDir: {}
132+
# volumeMounts:
133+
# - name: data
134+
# mountPath: /data
120135
tolerations: [] # Tolerations.
121136
affinity: {} # Container affinity.
122137
nodeSelector: {} # Node Selector.

0 commit comments

Comments
 (0)