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.

Reply via email to