[
https://issues.apache.org/jira/browse/FLINK-30329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Otto updated FLINK-30329:
--------------------------------
Description:
flink-kubernetes-operator supports dynamic configuration when
{{kubernetes.operator.dynamic.config.enabled}} is enabled. The provided helm
charts make use of a k8s ConfigMap to provide the flink-conf.yaml file. These
helm charts make use of the {{subPath}} VolumeMount feature. When mounted
volumes use {{{}subPath{}}}, the volume that uses them is not updated
automatically. So, even you do update the ConfigMap in k8s, the
flink-conf.yaml file will never see those updates.
*
[https://kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically]
* [https://kubernetes.io/docs/concepts/storage/volumes/#configmap]
Since all 'subPaths' of the volume are being mounted in both the operator and
webhook containers at the same paths, I believe an easy fix would be to avoid
declaring individual volumeMounts for each file, and just mount the whole
ConfigMap as a volume at /opt/flink/conf.
was:
flink-kubernetes-operator supports dynamic configuration when
{{kubernetes.operator.dynamic.config.enabled}} is enabled. The provided helm
charts make use of a k8s ConfigMap to provide the flink-conf.yaml file. These
helm charts make use of the {{subPath}} ConfigMap feature. When ConfigMaps use
{{{}subPath{}}}, the volume that uses them is not updated automatically. So,
even you do update the ConfigMap in k8s, the flink-conf.yaml file will never
see those updates.
*
[https://kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically]
* [https://kubernetes.io/docs/concepts/storage/volumes/#configmap]
Since all 'subPaths' of the ConfigMap are being mounted in both the operator
and webhook containers at the same paths, I believe an easy fix would be to
avoid declaring individual volumeMounts for each file, and just mount the whole
ConfigMap as a volume at /opt/flink/conf.
> flink-kubernetes-operator helm chart does not work with dynamic config
> because of use of ConfigMap subPath
> ----------------------------------------------------------------------------------------------------------
>
> Key: FLINK-30329
> URL: https://issues.apache.org/jira/browse/FLINK-30329
> Project: Flink
> Issue Type: Bug
> Components: Kubernetes Operator
> Reporter: Andrew Otto
> Priority: Minor
>
> flink-kubernetes-operator supports dynamic configuration when
> {{kubernetes.operator.dynamic.config.enabled}} is enabled. The provided helm
> charts make use of a k8s ConfigMap to provide the flink-conf.yaml file.
> These helm charts make use of the {{subPath}} VolumeMount feature. When
> mounted volumes use {{{}subPath{}}}, the volume that uses them is not updated
> automatically. So, even you do update the ConfigMap in k8s, the
> flink-conf.yaml file will never see those updates.
> *
> [https://kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically]
> * [https://kubernetes.io/docs/concepts/storage/volumes/#configmap]
> Since all 'subPaths' of the volume are being mounted in both the operator and
> webhook containers at the same paths, I believe an easy fix would be to avoid
> declaring individual volumeMounts for each file, and just mount the whole
> ConfigMap as a volume at /opt/flink/conf.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)