Hello.
I am trying to make a deployment of Flink 1.20 session cluster using Kubernetes
Operator v1.10.
It looks like the operator is setting up incorrect configuration for 1.20.
Namely, it is providing custom Flink configuration file as
${FLINK_HOME}/conf/flink-conf.yaml. That file path has been deprecated for some
time, and the correct one is ${FLINK_HOME}/conf/config.yaml.
Am I missing something here?
The mechanism behind this behavior is simple. Operator creates a Kubernetes
ConfigMap with entries flink-conf.yaml and log4j-console.properties. Then it
mounts the whole map as a folder. It boils down to this snippet:
spec:
containers:
# Do not change the main container name
- name: flink-main-container
volumeMounts:
…
- name: flink-config-volume
mountPath: /opt/flink/conf/
volumes:
- name: flink-config-volume
configMap:
name: flink-config
defaultMode: 420
items:
- key: log4j-console.properties
path: log4j-console.properties
- key: flink-conf.yaml
path: flink-conf.yaml
Now, I have found a workaround, but it feels ugly. I have defined my own
volume, where I add the correct path pointing to the same config file and mount
that over the default mount. It works (for now) but is god-awful. I’d like
something more robust. Any ideas? Any news on the operator itself? Is the
config file path going to be updated?
Nix.