From 630d85b566c21a46ca9acbce6c51c9aaa14dd3f4 Mon Sep 17 00:00:00 2001 From: Oliver Moser Date: Fri, 23 Feb 2018 18:06:45 +0100 Subject: [PATCH 1/2] support for additional libs via init container --- helm/flink/templates/deployment-jobmanager.yaml | 14 ++++++++++++++ helm/flink/templates/deployment-taskmanager.yaml | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/helm/flink/templates/deployment-jobmanager.yaml b/helm/flink/templates/deployment-jobmanager.yaml index e3cd5e7..3bcee99 100644 --- a/helm/flink/templates/deployment-jobmanager.yaml +++ b/helm/flink/templates/deployment-jobmanager.yaml @@ -10,6 +10,16 @@ spec: app: {{ template "fullname" . }} component: jobmanager spec: + initContainers: + - name: flink-copy-libs + image: {{ .Values.image }}:{{ .Values.imageTag }} + command: + - sh + - -c + - cp /opt/flink/lib/* {{ range .Values.flink.additional_libs}}/opt/flink/opt/{{ . }} {{ end }} /flink-lib; + volumeMounts: + - name: flink-lib + mountPath: /flink-lib containers: - name: jobmanager image: {{ .Values.image }}:{{ .Values.imageTag }} @@ -38,6 +48,8 @@ spec: mountPath: /etc/flink - name: {{ template "fullname" . }}-hadoop-config mountPath: /etc/hadoop/conf + - name: flink-lib + mountPath: /opt/flink/lib volumes: - name: {{ template "fullname" . }}-flink-config configMap: @@ -45,3 +57,5 @@ spec: - name: {{ template "fullname" . }}-hadoop-config configMap: name: {{ template "fullname" . }}-hadoop-config + - name: flink-lib + emptyDir: {} diff --git a/helm/flink/templates/deployment-taskmanager.yaml b/helm/flink/templates/deployment-taskmanager.yaml index a681d42..b5062a5 100644 --- a/helm/flink/templates/deployment-taskmanager.yaml +++ b/helm/flink/templates/deployment-taskmanager.yaml @@ -10,6 +10,16 @@ spec: app: {{ template "fullname" . }} component: taskmanager spec: + initContainers: + - name: flink-copy-libs + image: {{ .Values.image }}:{{ .Values.imageTag }} + command: + - sh + - -c + - cp /opt/flink/lib/* {{ range .Values.flink.additional_libs}}/opt/flink/opt/{{ . }} {{ end }} /flink-lib; + volumeMounts: + - name: flink-lib + mountPath: /flink-lib containers: - name: taskmanager image: {{ .Values.image }}:{{ .Values.imageTag }} @@ -38,6 +48,8 @@ spec: mountPath: /etc/flink - name: {{ template "fullname" . }}-hadoop-config mountPath: /etc/hadoop/conf + - name: flink-lib + mountPath: /opt/flink/lib volumes: - name: {{ template "fullname" . }}-flink-config configMap: @@ -45,3 +57,5 @@ spec: - name: {{ template "fullname" . }}-hadoop-config configMap: name: {{ template "fullname" . }}-hadoop-config + - name: flink-lib + emptyDir: {} From 938c2c2892494e6080574858312771467a2b7adb Mon Sep 17 00:00:00 2001 From: Oliver Moser Date: Fri, 23 Feb 2018 20:04:51 +0100 Subject: [PATCH 2/2] Adding section on additional libraries --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index cec9395..ed89fa4 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,10 @@ Deploy a non-HA Flink cluster with three taskmanagers: $ helm install --name my-cluster --set flink.num_taskmanagers=3 flink*.tgz +Install additional (optional) libraries from the flink distribution (you can only reference libraries from `$FLINK_BASEDIR/opt` here): + + $ helm install --name my-cluster --set flink.additional_libs="{flink-metrics-prometheus-1.4.0.jar,flink-metrics-dropwizard-1.4.0.jar}" flink*.tgz + Deploy an HA Flink cluster with three taskmanagers: $ cat > values.yaml <