Key Default Type Description
kubernetes.operator.checkpoint.trigger.grace-period
1 min Duration The interval before a checkpoint trigger attempt is marked as unsuccessful.
kubernetes.operator.checkpoint.type
FULL

Enum

Type of checkpoint.

Possible values:
  • "FULL": A comprehensive snapshot, saving the complete state of a data stream.
  • "INCREMENTAL": A more efficient, reduced snapshot, saving only the differences in state data since the last checkpoint.
  • "UNKNOWN": Only for internal purposes.
kubernetes.operator.cluster.health-check.checkpoint-progress.enabled
true Boolean Whether to enable checkpoint progress health check for clusters.
kubernetes.operator.cluster.health-check.checkpoint-progress.window
(none) Duration If no checkpoints are completed within the defined time window, the job is considered unhealthy. The minimum window size is `max(checkpointingInterval, checkpointTimeout) * (tolerableCheckpointFailures + 2)`, which also serves as the default value when checkpointing is enabled. For example with checkpoint interval 10 minutes and 0 tolerable failures, the default progress check window will be 20 minutes.
kubernetes.operator.cluster.health-check.enabled
false Boolean Whether to enable health check for clusters.
kubernetes.operator.cluster.health-check.restarts.threshold
64 Integer The threshold which is checked against job restart count within a configured window. If the restart count is reaching the threshold then full cluster restart is initiated.
kubernetes.operator.cluster.health-check.restarts.window
2 min Duration The duration of the time window where job restart count measured.
kubernetes.operator.cluster.resource-view.refresh-interval
-1 min Duration How often to retrieve Kubernetes cluster resource usage information. This information is used to avoid running out of cluster resources when scaling up resources. Negative values disable the feature.
kubernetes.operator.config.cache.size
1000 Integer Max config cache size.
kubernetes.operator.config.cache.timeout
10 min Duration Expiration time for cached configs.
kubernetes.operator.deployment.readiness.timeout
5 min Duration The timeout for deployments to become ready/stable before being rolled back if rollback is enabled.
kubernetes.operator.deployment.rollback.enabled
false Boolean Whether to enable rolling back failed deployment upgrades.
kubernetes.operator.dynamic.config.check.interval
5 min Duration Time interval for checking config changes.
kubernetes.operator.dynamic.config.enabled
true Boolean Whether to enable on-the-fly config changes through the operator configmap.
kubernetes.operator.dynamic.namespaces.enabled
false Boolean Enables dynamic change of watched/monitored namespaces.
kubernetes.operator.events.exceptions.limit-per-reconciliation
10 Integer Maximum number of exception-related Kubernetes events emitted per reconciliation cycle.
kubernetes.operator.events.exceptions.stacktrace-lines
5 Integer Maximum number of stack trace lines to include in exception-related Kubernetes event messages.
kubernetes.operator.exception.field.max.length
2048 Integer Maximum length of each exception field including stack trace to be included in CR status error field.
kubernetes.operator.exception.label.mapper
Map Key-Value pair where key is the REGEX to filter through the exception messages and value is the string to be included in CR status error label field if the REGEX matches. Expected format: headerKey1:headerValue1,headerKey2:headerValue2.
kubernetes.operator.exception.stacktrace.enabled
false Boolean Enable exception stacktrace to be included in CR status error field.
kubernetes.operator.exception.stacktrace.max.length
2048 Integer Maximum length of stacktrace to be included in CR status error field.
kubernetes.operator.exception.throwable.list.max.count
2 Integer Maximum number of throwable to be included in CR status error field.
kubernetes.operator.flink.client.cancel.timeout
1 min Duration The timeout for the reconciler to wait for flink to cancel job.
kubernetes.operator.flink.client.timeout
10 s Duration The timeout for the observer to wait the flink rest client to return.
kubernetes.operator.health.canary.resource.timeout
1 min Duration Allowed max time between spec update and reconciliation for canary resources.
kubernetes.operator.health.probe.enabled
true Boolean Enables health probe for the kubernetes operator.
kubernetes.operator.health.probe.port
8085 Integer The port the health probe will use to expose the status.
kubernetes.operator.jm-deployment-recovery.enabled
true Boolean Whether to enable recovery of missing/deleted jobmanager deployments.
kubernetes.operator.jm-deployment.shutdown-ttl
1 d Duration Time after which jobmanager pods of terminal application deployments are shut down.
kubernetes.operator.jm-deployment.startup.probe.enabled
true Boolean Enable job manager startup probe to allow detecting when the jobmanager could not submit the job.
kubernetes.operator.job.drain-on-savepoint-deletion
false Boolean Indicate whether the job should be drained when stopping with savepoint.
kubernetes.operator.job.restart.failed
false Boolean Whether to restart failed jobs.
kubernetes.operator.job.savepoint-on-deletion
false Boolean Indicate whether a savepoint must be taken when deleting a FlinkDeployment or FlinkSessionJob.
kubernetes.operator.job.upgrade.ignore-pending-savepoint
false Boolean Whether to ignore pending savepoint during job upgrade.
kubernetes.operator.job.upgrade.inplace-scaling.enabled
true Boolean Whether to enable inplace scaling for Flink 1.18+ using the resource requirements API. On failure or earlier Flink versions it falls back to regular full redeployment.
kubernetes.operator.job.upgrade.last-state-fallback.enabled
true Boolean Enables last-state fallback for savepoint upgrade mode. When the job is not running thus savepoint cannot be triggered but HA metadata is available for last state restore the operator can initiate the upgrade process when the flag is enabled.
kubernetes.operator.job.upgrade.last-state.job-cancel.enabled
false Boolean Cancel jobs during last-state upgrade. This config is ignored for session jobs where cancel is the only mechanism to perform this type of upgrade.
kubernetes.operator.job.upgrade.last-state.max.allowed.checkpoint.age
(none) Duration Max allowed checkpoint age for initiating last-state upgrades on running jobs. If a checkpoint is not available within the desired age (and nothing in progress) a savepoint will be triggered.
kubernetes.operator.label.selector
(none) String Label selector of the custom resources to be watched. Please see https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors for the format supported.
kubernetes.operator.leader-election.enabled
false Boolean Enable leader election for the operator to allow running standby instances.
kubernetes.operator.leader-election.lease-duration
15 s Duration Leader election lease duration.
kubernetes.operator.leader-election.lease-name
(none) String Leader election lease name, must be unique for leases in the same namespace.
kubernetes.operator.leader-election.renew-deadline
10 s Duration Leader election renew deadline.
kubernetes.operator.leader-election.retry-period
2 s Duration Leader election retry period.
kubernetes.operator.observer.progress-check.interval
10 s Duration The interval for observing status for in-progress operations such as deployment and savepoints.
kubernetes.operator.observer.rest-ready.delay
10 s Duration Final delay before deployment is marked ready after port becomes accessible.
kubernetes.operator.periodic.checkpoint.interval
(none) String Option to enable automatic checkpoint triggering. Can be specified either as a Duration type (i.e. '10m') or as a cron expression in Quartz format (6 or 7 positions, see http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).The triggering schedule is not guaranteed, checkpoints will be triggered as part of the regular reconcile loop. NOTE: checkpoints are generally managed by Flink. This setting isn't meant to replace Flink's checkpoint settings, but to complement them in special cases. For instance, a full checkpoint might need to be occasionally triggered to break the chain of incremental checkpoints and consolidate the partial incremental files. WARNING: not intended to be used together with the cron-based periodic checkpoint triggering
kubernetes.operator.periodic.savepoint.interval
(none) String Option to enable automatic savepoint triggering. Can be specified either as a Duration type (i.e. '10m') or as a cron expression in Quartz format (6 or 7 positions, see http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).The triggering schedule is not guaranteed, savepoints will be triggered as part of the regular reconcile loop. WARNING: not intended to be used together with the cron-based periodic savepoint triggering
kubernetes.operator.plugins.listeners.<listener-name>.class
(none) String Custom plugins listener class, 'listener-name' is the name of the plugin listener, and its value is a fully qualified class name.
kubernetes.operator.pod-template.merge-arrays-by-name
false Boolean Configure the array merge behaviour during pod merging. Arrays can be either merged by position or name matching.
kubernetes.operator.rate-limiter.limit
5 Integer Max number of reconcile loops triggered within the rate limiter refresh period for each resource. Setting the limit <= 0 disables the limiter.
kubernetes.operator.rate-limiter.refresh-period
15 s Duration Operator rate limiter refresh period for each resource.
kubernetes.operator.reconcile.interval
1 min Duration The interval for the controller to reschedule the reconcile process.
kubernetes.operator.reconcile.parallelism
50 Integer The maximum number of threads running the reconciliation loop. Use -1 for infinite.
kubernetes.operator.resource.cleanup.timeout
5 min Duration The timeout for the resource clean up to wait for flink to shutdown cluster.
kubernetes.operator.resource.deletion.propagation
Foreground

Enum

JM/TM Deployment deletion propagation.

Possible values:
  • "Orphan"
  • "Background"
  • "Foreground"
kubernetes.operator.retry.initial.interval
5 s Duration Initial interval of retries on unhandled controller errors.
kubernetes.operator.retry.interval.multiplier
1.5 Double Interval multiplier of retries on unhandled controller errors.
kubernetes.operator.retry.max.attempts
15 Integer Max attempts of retries on unhandled controller errors.
kubernetes.operator.retry.max.interval
(none) Duration Max interval of retries on unhandled controller errors.
kubernetes.operator.savepoint.cleanup.enabled
true Boolean Whether to enable clean up of savepoint FlinkStateSnapshot resources. Savepoint state will be disposed of as well if the snapshot CR spec is configured as such. For automatic savepoints this can be configured via the kubernetes.operator.savepoint.dispose-on-delete config option.
kubernetes.operator.savepoint.dispose-on-delete
false Boolean Savepoint data for FlinkStateSnapshot resources created by the operator during upgrades and periodic savepoints will be disposed of automatically when the generated Kubernetes resource is deleted.
kubernetes.operator.savepoint.format.type
CANONICAL

Enum

Type of the binary format in which a savepoint should be taken.

Possible values:
  • "CANONICAL": A canonical, common for all state backends format. It lets you switch state backends.
  • "NATIVE": A format specific for the chosen state backend, in its native binary format. Might be faster to take and restore from than the canonical one.
kubernetes.operator.savepoint.history.max.age
1 d Duration Maximum age for savepoint FlinkStateSnapshot resources to retain. Due to lazy clean-up, the most recent savepoint may live longer than the max age.
kubernetes.operator.savepoint.history.max.age.threshold
(none) Duration Maximum age threshold for FlinkStateSnapshot resources to retain.
kubernetes.operator.savepoint.history.max.count
10 Integer Maximum number of savepoint FlinkStateSnapshot resources entries to retain.
kubernetes.operator.savepoint.history.max.count.threshold
(none) Integer Maximum number threshold of savepoint FlinkStateSnapshot resources to retain.
kubernetes.operator.savepoint.trigger.grace-period
1 min Duration The interval before a savepoint trigger attempt is marked as unsuccessful.
kubernetes.operator.snapshot.resource.enabled
true Boolean Create new FlinkStateSnapshot resources for storing snapshots. Disable if you wish to use the deprecated mode and save snapshot results to FlinkDeployment/FlinkSessionJob status fields. The Operator will fallback to legacy mode during runtime if the CRD is not found, even if this value is true.
kubernetes.operator.startup.stop-on-informer-error
true Boolean Whether informer errors should stop operator startup. If false, the startup will ignore recoverable errors, caused for example by RBAC issues and will retry periodically.
kubernetes.operator.termination.timeout
10 s Duration Operator shutdown timeout before reconciliation threads are killed.
kubernetes.operator.user.artifacts.base.dir
"/opt/flink/artifacts" String The base dir to put the session job artifacts.
kubernetes.operator.user.artifacts.http.header
(none) Map Custom HTTP header for HttpArtifactFetcher. The header will be applied when getting the session job artifacts. Expected format: headerKey1:headerValue1,headerKey2:headerValue2.
kubernetes.operator.watched.namespaces
"JOSDK_ALL_NAMESPACES" String Comma separated list of namespaces the operator monitors for custom resources.