This is an automated email from the ASF dual-hosted git repository. gyfora pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/flink-kubernetes-operator.git
The following commit(s) were added to refs/heads/main by this push: new a027644 [FLINK-26574] Expose config files in helm chart a027644 is described below commit a027644a5cdda3f9dbcdd7643bd0bc933f7d2bcd Author: Gyula Fora <g_f...@apple.com> AuthorDate: Thu Mar 10 12:54:19 2022 +0100 [FLINK-26574] Expose config files in helm chart --- .../flink-default-config/flink-conf.yaml} | 54 ++---------- .../flink-default-config/log4j-console.properties | 62 ++++++++++++++ .../flink-operator-config/flink-conf.yaml} | 51 ++---------- .../flink-operator-config/log4j2.properties} | 54 ++---------- helm/flink-operator/templates/flink-operator.yaml | 96 +++++++--------------- helm/flink-operator/values.yaml | 28 ++++++- 6 files changed, 137 insertions(+), 208 deletions(-) diff --git a/helm/flink-operator/values.yaml b/helm/flink-operator/conf/flink-default-config/flink-conf.yaml similarity index 52% copy from helm/flink-operator/values.yaml copy to helm/flink-operator/conf/flink-default-config/flink-conf.yaml index 534ce59..485f99a 100644 --- a/helm/flink-operator/values.yaml +++ b/helm/flink-operator/conf/flink-default-config/flink-conf.yaml @@ -16,49 +16,11 @@ # limitations under the License. ################################################################################ ---- - -operatorNamespace: - name: default - -# List of kubernetes namespaces to watch for FlinkDeployment changes, empty means all namespaces. -# When enabled RBAC is only created for said namespaces, otherwise it is done for the cluster scope. -# watchNamespaces: ["flink"] - -image: - repository: flink-operator - pullPolicy: IfNotPresent - tag: latest - -rbac: - create: true - -ingress: - create: false - -operatorServiceAccount: - create: true - annotations: {} - name: "flink-operator" - -jobServiceAccount: - create: true - annotations: - "helm.sh/resource-policy": keep - name: "flink" - -webhook: - create: true - keystore: - useDefaultPassword: true - # passwordSecretRef: - # name: jks-password-secret - # key: password-key - -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -# (Optional) Exposes metrics port on the container if defined -metrics: - port: +taskmanager.numberOfTaskSlots: 2 +blob.server.port: 6124 +jobmanager.rpc.port: 6123 +taskmanager.rpc.port: 6122 +queryable-state.proxy.ports: 6125 +jobmanager.memory.process.size: 1600m +taskmanager.memory.process.size: 1728m +parallelism.default: 2 diff --git a/helm/flink-operator/conf/flink-default-config/log4j-console.properties b/helm/flink-operator/conf/flink-default-config/log4j-console.properties new file mode 100644 index 0000000..6ce93d2 --- /dev/null +++ b/helm/flink-operator/conf/flink-default-config/log4j-console.properties @@ -0,0 +1,62 @@ +################################################################################ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +################################################################################ + +# This affects logging for both user code and Flink +rootLogger.level = INFO +rootLogger.appenderRef.console.ref = ConsoleAppender +rootLogger.appenderRef.rolling.ref = RollingFileAppender + +# Uncomment this if you want to _only_ change Flink's logging +#logger.flink.name = org.apache.flink +#logger.flink.level = INFO + +# The following lines keep the log level of common libraries/connectors on +# log level INFO. The root logger does not override this. You have to manually +# change the log levels here. +logger.akka.name = akka +logger.akka.level = INFO +logger.kafka.name= org.apache.kafka +logger.kafka.level = INFO +logger.hadoop.name = org.apache.hadoop +logger.hadoop.level = INFO +logger.zookeeper.name = org.apache.zookeeper +logger.zookeeper.level = INFO + +# Log all infos to the console +appender.console.name = ConsoleAppender +appender.console.type = CONSOLE +appender.console.layout.type = PatternLayout +appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n + +# Log all infos in the given rolling file +appender.rolling.name = RollingFileAppender +appender.rolling.type = RollingFile +appender.rolling.append = false +appender.rolling.fileName = ${sys:log.file} +appender.rolling.filePattern = ${sys:log.file}.%i +appender.rolling.layout.type = PatternLayout +appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n +appender.rolling.policies.type = Policies +appender.rolling.policies.size.type = SizeBasedTriggeringPolicy +appender.rolling.policies.size.size=100MB +appender.rolling.strategy.type = DefaultRolloverStrategy +appender.rolling.strategy.max = 10 + +# Suppress the irrelevant (wrong) warnings from the Netty channel handler +logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline +logger.netty.level = OFF diff --git a/helm/flink-operator/values.yaml b/helm/flink-operator/conf/flink-operator-config/flink-conf.yaml similarity index 52% copy from helm/flink-operator/values.yaml copy to helm/flink-operator/conf/flink-operator-config/flink-conf.yaml index 534ce59..71ebacb 100644 --- a/helm/flink-operator/values.yaml +++ b/helm/flink-operator/conf/flink-operator-config/flink-conf.yaml @@ -16,49 +16,10 @@ # limitations under the License. ################################################################################ ---- +# operator.reconciler.reschedule.interval.sec: 60 +# operator.observer.rest-ready.delay.sec: 10 +# operator.observer.progress-check.interval.sec: 10 +# operator.observer.savepoint.trigger.grace-period.sec: 10 -operatorNamespace: - name: default - -# List of kubernetes namespaces to watch for FlinkDeployment changes, empty means all namespaces. -# When enabled RBAC is only created for said namespaces, otherwise it is done for the cluster scope. -# watchNamespaces: ["flink"] - -image: - repository: flink-operator - pullPolicy: IfNotPresent - tag: latest - -rbac: - create: true - -ingress: - create: false - -operatorServiceAccount: - create: true - annotations: {} - name: "flink-operator" - -jobServiceAccount: - create: true - annotations: - "helm.sh/resource-policy": keep - name: "flink" - -webhook: - create: true - keystore: - useDefaultPassword: true - # passwordSecretRef: - # name: jks-password-secret - # key: password-key - -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -# (Optional) Exposes metrics port on the container if defined -metrics: - port: +# metrics.reporter.slf4j.factory.class: org.apache.flink.metrics.slf4j.Slf4jReporterFactory +# metrics.reporter.slf4j.interval: 5 MINUTE diff --git a/helm/flink-operator/values.yaml b/helm/flink-operator/conf/flink-operator-config/log4j2.properties similarity index 52% copy from helm/flink-operator/values.yaml copy to helm/flink-operator/conf/flink-operator-config/log4j2.properties index 534ce59..148e177 100644 --- a/helm/flink-operator/values.yaml +++ b/helm/flink-operator/conf/flink-operator-config/log4j2.properties @@ -16,49 +16,11 @@ # limitations under the License. ################################################################################ ---- - -operatorNamespace: - name: default - -# List of kubernetes namespaces to watch for FlinkDeployment changes, empty means all namespaces. -# When enabled RBAC is only created for said namespaces, otherwise it is done for the cluster scope. -# watchNamespaces: ["flink"] - -image: - repository: flink-operator - pullPolicy: IfNotPresent - tag: latest - -rbac: - create: true - -ingress: - create: false - -operatorServiceAccount: - create: true - annotations: {} - name: "flink-operator" - -jobServiceAccount: - create: true - annotations: - "helm.sh/resource-policy": keep - name: "flink" - -webhook: - create: true - keystore: - useDefaultPassword: true - # passwordSecretRef: - # name: jks-password-secret - # key: password-key - -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -# (Optional) Exposes metrics port on the container if defined -metrics: - port: +rootLogger.level = INFO +rootLogger.appenderRef.console.ref = ConsoleAppender + +# Log all infos to the console +appender.console.name = ConsoleAppender +appender.console.type = CONSOLE +appender.console.layout.type = PatternLayout +appender.console.layout.pattern = %style{%d}{yellow} %style{%-30c{1.}}{cyan} %highlight{[%-5level] %msg%n%throwable} diff --git a/helm/flink-operator/templates/flink-operator.yaml b/helm/flink-operator/templates/flink-operator.yaml index cc3db68..33425a2 100644 --- a/helm/flink-operator/templates/flink-operator.yaml +++ b/helm/flink-operator/templates/flink-operator.yaml @@ -130,7 +130,7 @@ spec: path: keystore.p12 {{- end }} --- - +{{- if .Values.operatorConfiguration.create }} apiVersion: v1 kind: ConfigMap metadata: @@ -140,23 +140,22 @@ metadata: {{- include "flink-operator.labels" . | nindent 4 }} data: flink-conf.yaml: |+ - metrics.reporter.slf4j.factory.class: org.apache.flink.metrics.slf4j.Slf4jReporterFactory - metrics.reporter.slf4j.interval: 1 MINUTE - # metrics.scope.k8soperator: <host>.k8soperator.<namespace>.<name> +{{- if not (eq (.Values.operatorConfiguration).append false) }} + {{- $.Files.Get "conf/flink-operator-config/flink-conf.yaml" | nindent 4 -}} +{{- end }} +{{- if index (.Values.operatorConfiguration) "flink-conf.yaml" }} + {{- index (.Values.operatorConfiguration) "flink-conf.yaml" | nindent 4 -}} +{{- end }} log4j2.properties: |+ - rootLogger.level = DEBUG - rootLogger.appenderRef.console.ref = ConsoleAppender - - logger.spring-web.name= org.springframework.web.filter - logger.spring-web.level = DEBUG - - # Log all infos to the console - appender.console.name = ConsoleAppender - appender.console.type = CONSOLE - appender.console.layout.type = PatternLayout - appender.console.layout.pattern = %style{%d}{yellow} %style{%-30c{1.}}{cyan} %highlight{[%-5level] %msg%n%throwable} +{{- if not (eq (.Values.operatorConfiguration).append false) }} + {{- $.Files.Get "conf/flink-operator-config/log4j2.properties" | nindent 4 -}} +{{- end }} +{{- if index (.Values.operatorConfiguration) "log4j2.properties" }} + {{- index (.Values.operatorConfiguration) "log4j2.properties" | nindent 4 -}} +{{- end }} +{{- end }} --- - +{{- if .Values.flinkDefaultConfiguration.create }} apiVersion: v1 kind: ConfigMap metadata: @@ -166,56 +165,17 @@ metadata: {{- include "flink-operator.labels" . | nindent 4 }} data: flink-conf.yaml: |+ - taskmanager.numberOfTaskSlots: 2 - blob.server.port: 6124 - jobmanager.rpc.port: 6123 - taskmanager.rpc.port: 6122 - queryable-state.proxy.ports: 6125 - jobmanager.memory.process.size: 1600m - taskmanager.memory.process.size: 1728m - parallelism.default: 2 +{{- if not (eq (.Values.flinkDefaultConfiguration).append false) }} + {{- $.Files.Get "conf/flink-default-config/flink-conf.yaml" | nindent 4 -}} +{{- end }} +{{- if index (.Values.flinkDefaultConfiguration) "flink-conf.yaml" }} + {{- index (.Values.flinkDefaultConfiguration) "flink-conf.yaml" | nindent 4 -}} +{{- end }} log4j-console.properties: |+ - # This affects logging for both user code and Flink - rootLogger.level = INFO - rootLogger.appenderRef.console.ref = ConsoleAppender - rootLogger.appenderRef.rolling.ref = RollingFileAppender - - # Uncomment this if you want to _only_ change Flink's logging - #logger.flink.name = org.apache.flink - #logger.flink.level = INFO - - # The following lines keep the log level of common libraries/connectors on - # log level INFO. The root logger does not override this. You have to manually - # change the log levels here. - logger.akka.name = akka - logger.akka.level = INFO - logger.kafka.name= org.apache.kafka - logger.kafka.level = INFO - logger.hadoop.name = org.apache.hadoop - logger.hadoop.level = INFO - logger.zookeeper.name = org.apache.zookeeper - logger.zookeeper.level = INFO - - # Log all infos to the console - appender.console.name = ConsoleAppender - appender.console.type = CONSOLE - appender.console.layout.type = PatternLayout - appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n - - # Log all infos in the given rolling file - appender.rolling.name = RollingFileAppender - appender.rolling.type = RollingFile - appender.rolling.append = false - appender.rolling.fileName = ${sys:log.file} - appender.rolling.filePattern = ${sys:log.file}.%i - appender.rolling.layout.type = PatternLayout - appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n - appender.rolling.policies.type = Policies - appender.rolling.policies.size.type = SizeBasedTriggeringPolicy - appender.rolling.policies.size.size=100MB - appender.rolling.strategy.type = DefaultRolloverStrategy - appender.rolling.strategy.max = 10 - - # Suppress the irrelevant (wrong) warnings from the Netty channel handler - logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline - logger.netty.level = OFF +{{- if not (eq (.Values.flinkDefaultConfiguration).append false) }} + {{- $.Files.Get "conf/flink-default-config/log4j-console.properties" | nindent 4 -}} +{{- end }} +{{- if index (.Values.flinkDefaultConfiguration) "log4j-console.properties" }} + {{- index (.Values.flinkDefaultConfiguration) "log4j-console.properties" | nindent 4 -}} +{{- end }} +{{- end }} diff --git a/helm/flink-operator/values.yaml b/helm/flink-operator/values.yaml index 534ce59..b9e8d93 100644 --- a/helm/flink-operator/values.yaml +++ b/helm/flink-operator/values.yaml @@ -55,10 +55,32 @@ webhook: # name: jks-password-secret # key: password-key -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" +operatorConfiguration: + create: true + # Set append to false to replace configuration files + # append: true + flink-conf.yaml: |+ + metrics.reporter.slf4j.factory.class: org.apache.flink.metrics.slf4j.Slf4jReporterFactory + metrics.reporter.slf4j.interval: 5 MINUTE + + operator.reconciler.reschedule.interval.sec: 15 + operator.observer.progress-check.interval.sec: 5 + log4j2.properties: |+ + rootLogger.level = DEBUG + +flinkDefaultConfiguration: + create: true + # Set append to false to replace configuration files + # append: true + # flink-conf.yaml: |+ + # ... + # log4j-console.properties: |+ + # ... # (Optional) Exposes metrics port on the container if defined metrics: port: + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: ""