Uh oh!
There was an error while loading. Please reload this page.
support for additional libraries - #2
Conversation
patricklucas
left a comment
There was a problem hiding this comment.
This is a nice solution to this problem, thank you. Just a few comments.
What do you think about gating all the parts to this strategy—the initContainer, volumeMount, and volume—with a check to see if .Values.flink.additional_libs is non-empty?
It would make the chart slightly more complicated, but I'm not sure how I feel about making the default behavior to populate an emptyDir with the same set of libs that are already there. What do you think?
| spec: | ||
| initContainers: | ||
| - name: flink-copy-libs | ||
| image: {{ .Values.image }}:{{ .Values.imageTag }} |
There was a problem hiding this comment.
The init container should probably also respect imagePullPolicy. (also in deployment-taskmanager.yaml)
| command: | ||
| - sh | ||
| - -c | ||
| - cp /opt/flink/lib/* {{ range .Values.flink.additional_libs}}/opt/flink/opt/{{ . }} {{ end }} /flink-lib; |
There was a problem hiding this comment.
minor style: space after additional_libs (also in deployment-taskmanager.yaml)
this adds a config flag (
flink.additional_libs) that allows users to reference and include addtional libraries from the flink distribution. this is useful e.g. if you want to enable metrics but don't want to create a custom image for that. Basically what happens is that an init container (that runs the same image as jobmanager and taskmanager) mounts anemptyDir, copies the relevant libs from$FLINK_BASEDIR/liband$FLINK_BASEDIR/opt(<-- those are the ones that you can reference via--set flink.additional_libs) to thatemptyDirand mounts that directory in the jobmanager and taskmanager containers to/opt/flink/lib.