gyfora commented on code in PR #877: URL: https://github.com/apache/flink-web/pull/877#discussion_r3794186590
########## docs/content/posts/2026-08-06-release-kubernetes-operator-1.16.0.md: ########## @@ -0,0 +1,136 @@ +--- +title: "Apache Flink Kubernetes Operator 1.16.0 Release Announcement" +date: "2026-08-06T08:00:00.000Z" +authors: +- gyfora: + name: "Gyula Fora" +aliases: +- /news/2026/08/06/release-kubernetes-operator-1.16.0.html +--- + +The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.16.0! + +This release centers on **extensibility and documentation**: a completely restructured documentation site, a trio of pluggable autoscaler SPIs (custom evaluators, scaling executors, and parallelism alignment modes), Kubernetes-native pod `ResourceRequirements`, an upgrade to Java Operator SDK 5.5 with Helm 4 support, standalone HA on Flink 2.0+, and a range of Blue/Green, session job, and savepoint reliability fixes. + +We encourage you to [download the release](https://flink.apache.org/downloads.html) and share your experience with the +community through the Flink [mailing lists](https://flink.apache.org/community.html#mailing-lists) or +[JIRA](https://issues.apache.org/jira/browse/flink)! We're looking forward to your feedback! + +## Highlights + +### Restructured Documentation + +The operator documentation has been comprehensively reorganized and expanded for better navigability and coverage. The +site is now grouped into clear top-level areas: **Concepts** (architecture, autoscaling, lifecycle management, and a +glossary), **Deployment** (installation, configuration, compatibility, security, leader election, and Helm topics such +as cert-manager and RBAC), a consolidated **Custom Resource** reference, **Operations**, and a brand new **Internals** +section that documents how the operator actually works under the hood, covering the controller flow, the autoscaler, +the admission webhook, and operator startup. + +Beyond moving pages around, large parts of the content were rewritten and gaps were filled, so users and contributors +now have a single, coherent map of the operator, from first install through to its internal design. + +### Autoscaler Extensibility: Pluggable Evaluators, Scaling Executors, and Alignment Modes + +The autoscaler becomes extensible through three new plugin SPIs, all discovered via the standard plugin mechanism and +each configurable per named instance. Together they let you customize the autoscaler without forking it: + +- **Custom Evaluator plugin ([FLIP-514](https://cwiki.apache.org/confluence/display/FLINK/FLIP-514)):** inject custom + scaling-metric evaluation logic into the evaluation pipeline, augmenting or overriding how the autoscaler interprets + the collected metrics before a scaling decision is made. +- **Scaling Executor Plugin SPI ([FLIP-575](https://cwiki.apache.org/confluence/display/FLINK/FLIP-575)):** hook into + the point where scaling decisions are applied, so a plugin can veto, gate, or adjust a proposed rescale (for example + to enforce organization-specific policies) before it is executed. +- **Composable Parallelism Alignment Modes ([FLIP-586](https://cwiki.apache.org/confluence/display/FLINK/FLIP-586)):** + make the strategy that aligns a computed target parallelism to key groups or source partitions pluggable, with the + existing behavior preserved as built-in modes and custom modes discoverable as plugins. Review Comment: We have actually changed the default behavior in important ways here, it is probably worth calling that out separately (for most users that's more important than extensibility) ########## docs/content/posts/2026-08-06-release-kubernetes-operator-1.16.0.md: ########## @@ -0,0 +1,136 @@ +--- +title: "Apache Flink Kubernetes Operator 1.16.0 Release Announcement" +date: "2026-08-06T08:00:00.000Z" +authors: +- gyfora: + name: "Gyula Fora" +aliases: +- /news/2026/08/06/release-kubernetes-operator-1.16.0.html +--- + +The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.16.0! + +This release centers on **extensibility and documentation**: a completely restructured documentation site, a trio of pluggable autoscaler SPIs (custom evaluators, scaling executors, and parallelism alignment modes), Kubernetes-native pod `ResourceRequirements`, an upgrade to Java Operator SDK 5.5 with Helm 4 support, standalone HA on Flink 2.0+, and a range of Blue/Green, session job, and savepoint reliability fixes. + +We encourage you to [download the release](https://flink.apache.org/downloads.html) and share your experience with the +community through the Flink [mailing lists](https://flink.apache.org/community.html#mailing-lists) or +[JIRA](https://issues.apache.org/jira/browse/flink)! We're looking forward to your feedback! + +## Highlights + +### Restructured Documentation + +The operator documentation has been comprehensively reorganized and expanded for better navigability and coverage. The +site is now grouped into clear top-level areas: **Concepts** (architecture, autoscaling, lifecycle management, and a +glossary), **Deployment** (installation, configuration, compatibility, security, leader election, and Helm topics such +as cert-manager and RBAC), a consolidated **Custom Resource** reference, **Operations**, and a brand new **Internals** +section that documents how the operator actually works under the hood, covering the controller flow, the autoscaler, +the admission webhook, and operator startup. + +Beyond moving pages around, large parts of the content were rewritten and gaps were filled, so users and contributors +now have a single, coherent map of the operator, from first install through to its internal design. + +### Autoscaler Extensibility: Pluggable Evaluators, Scaling Executors, and Alignment Modes + +The autoscaler becomes extensible through three new plugin SPIs, all discovered via the standard plugin mechanism and +each configurable per named instance. Together they let you customize the autoscaler without forking it: + +- **Custom Evaluator plugin ([FLIP-514](https://cwiki.apache.org/confluence/display/FLINK/FLIP-514)):** inject custom + scaling-metric evaluation logic into the evaluation pipeline, augmenting or overriding how the autoscaler interprets + the collected metrics before a scaling decision is made. +- **Scaling Executor Plugin SPI ([FLIP-575](https://cwiki.apache.org/confluence/display/FLINK/FLIP-575)):** hook into + the point where scaling decisions are applied, so a plugin can veto, gate, or adjust a proposed rescale (for example + to enforce organization-specific policies) before it is executed. +- **Composable Parallelism Alignment Modes ([FLIP-586](https://cwiki.apache.org/confluence/display/FLINK/FLIP-586)):** + make the strategy that aligns a computed target parallelism to key groups or source partitions pluggable, with the + existing behavior preserved as built-in modes and custom modes discoverable as plugins. + +Each plugin receives its own prefix-stripped, per-instance configuration, keeping custom extensions cleanly isolated +from the core autoscaler configuration. + +### Kubernetes-native Pod Resource Requirements + +TaskManager and JobManager pod resources can now be expressed using standard Kubernetes +[`ResourceRequirements`](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/), replacing the +operator's previous custom `resource` (cpu/memory) fields. This brings requests and limits, ephemeral storage, and +extended resources (such as GPUs) into line with native Kubernetes semantics. + +### Java Operator SDK 5.5 and Helm 4 + +The operator is upgraded to **Java Operator SDK 5.5.0**, and the Helm chart CI and end-to-end tests now run on +**Helm 4**, keeping the operator current with its core dependencies and packaging toolchain. + +### Standalone HA on Flink 2.0+ + +Standalone-mode High Availability now works on Flink 2.0 and later. The JobManager entrypoint no longer relies on the +`--host` CLI argument that was removed in Flink 2.0, using the `jobmanager.rpc.address` dynamic configuration instead, +which is valid across both Flink 1.x and 2.x. Review Comment: I wouldn't call this out explicitly ########## docs/content/posts/2026-08-06-release-kubernetes-operator-1.16.0.md: ########## @@ -0,0 +1,136 @@ +--- +title: "Apache Flink Kubernetes Operator 1.16.0 Release Announcement" +date: "2026-08-06T08:00:00.000Z" +authors: +- gyfora: + name: "Gyula Fora" +aliases: +- /news/2026/08/06/release-kubernetes-operator-1.16.0.html +--- + +The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.16.0! + +This release centers on **extensibility and documentation**: a completely restructured documentation site, a trio of pluggable autoscaler SPIs (custom evaluators, scaling executors, and parallelism alignment modes), Kubernetes-native pod `ResourceRequirements`, an upgrade to Java Operator SDK 5.5 with Helm 4 support, standalone HA on Flink 2.0+, and a range of Blue/Green, session job, and savepoint reliability fixes. + +We encourage you to [download the release](https://flink.apache.org/downloads.html) and share your experience with the +community through the Flink [mailing lists](https://flink.apache.org/community.html#mailing-lists) or +[JIRA](https://issues.apache.org/jira/browse/flink)! We're looking forward to your feedback! + +## Highlights + +### Restructured Documentation + +The operator documentation has been comprehensively reorganized and expanded for better navigability and coverage. The +site is now grouped into clear top-level areas: **Concepts** (architecture, autoscaling, lifecycle management, and a +glossary), **Deployment** (installation, configuration, compatibility, security, leader election, and Helm topics such +as cert-manager and RBAC), a consolidated **Custom Resource** reference, **Operations**, and a brand new **Internals** +section that documents how the operator actually works under the hood, covering the controller flow, the autoscaler, +the admission webhook, and operator startup. + +Beyond moving pages around, large parts of the content were rewritten and gaps were filled, so users and contributors +now have a single, coherent map of the operator, from first install through to its internal design. + +### Autoscaler Extensibility: Pluggable Evaluators, Scaling Executors, and Alignment Modes + +The autoscaler becomes extensible through three new plugin SPIs, all discovered via the standard plugin mechanism and +each configurable per named instance. Together they let you customize the autoscaler without forking it: + +- **Custom Evaluator plugin ([FLIP-514](https://cwiki.apache.org/confluence/display/FLINK/FLIP-514)):** inject custom + scaling-metric evaluation logic into the evaluation pipeline, augmenting or overriding how the autoscaler interprets + the collected metrics before a scaling decision is made. +- **Scaling Executor Plugin SPI ([FLIP-575](https://cwiki.apache.org/confluence/display/FLINK/FLIP-575)):** hook into + the point where scaling decisions are applied, so a plugin can veto, gate, or adjust a proposed rescale (for example + to enforce organization-specific policies) before it is executed. +- **Composable Parallelism Alignment Modes ([FLIP-586](https://cwiki.apache.org/confluence/display/FLINK/FLIP-586)):** + make the strategy that aligns a computed target parallelism to key groups or source partitions pluggable, with the + existing behavior preserved as built-in modes and custom modes discoverable as plugins. + +Each plugin receives its own prefix-stripped, per-instance configuration, keeping custom extensions cleanly isolated +from the core autoscaler configuration. + +### Kubernetes-native Pod Resource Requirements + +TaskManager and JobManager pod resources can now be expressed using standard Kubernetes +[`ResourceRequirements`](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/), replacing the +operator's previous custom `resource` (cpu/memory) fields. This brings requests and limits, ephemeral storage, and +extended resources (such as GPUs) into line with native Kubernetes semantics. + +### Java Operator SDK 5.5 and Helm 4 + +The operator is upgraded to **Java Operator SDK 5.5.0**, and the Helm chart CI and end-to-end tests now run on +**Helm 4**, keeping the operator current with its core dependencies and packaging toolchain. + +### Standalone HA on Flink 2.0+ + +Standalone-mode High Availability now works on Flink 2.0 and later. The JobManager entrypoint no longer relies on the +`--host` CLI argument that was removed in Flink 2.0, using the `jobmanager.rpc.address` dynamic configuration instead, +which is valid across both Flink 1.x and 2.x. + +### Supported Flink Versions + +Operator 1.16.0 supports the following Flink version matrix: + +**2.3.x, 2.2.x, 2.1.x, 2.0.x, 1.20.x, 1.19.x** + +## Notable Bug Fixes + +### Blue/Green Deployments + +- The Blue/Green transition now finalizes immediately after the previous deployment is deleted, instead of deferring to + a later reconciliation, closing a window where a not-ready blip could roll the transition back onto an already-deleted + deployment. +- Fixed a bug where, after an aborted transition, the next deploy would delete the previous (Blue) deployment + immediately instead of honoring the configured deletion delay. + +### Session Jobs + +- A fast-running `FlinkSessionJob` now correctly reflects the actual state of the job rather than getting stuck at a + stale state. +- A `FlinkSessionJob`'s lifecycle state no longer remains `UPGRADING` after it has been suspended successfully. +- Fixed a deadlock where deleting a `FlinkDeployment` while `FlinkSessionJobs` were still running could hang under the + default block-on-* options. + +### Savepoints and Snapshots + +- `FlinkStateSnapshot`-triggered savepoints now honor the referenced `FlinkSessionJob`'s `state.savepoints.dir`. +- Fixed `FlinkStateSnapshot` with the default `backoffLimit=-1` so it means unlimited retries as documented, instead of + failing immediately on the first error. +- Fixed an NPE during `FlinkStateSnapshot` cleanup when the status was null, which could permanently block custom + resource and namespace deletion. + +### Cluster Upgrades and Configuration + +- `AbstractFlinkService.deleteBlocking()` no longer swallows `KubernetesClientTimeoutException`, which previously let an + upgrade proceed on top of a still-running cluster. +- The operator now serializes managed-deployment config in the target Flink version's YAML dialect, fixing Flink 1.x + deployments when the operator itself runs on the standard `config.yaml`. + +### Autoscaler Accuracy and Security + +- Corrected the expected processing rate computation and aligned the busy-time `TRUE_PROCESSING_RATE` numerator + estimator with the busy-time aggregator for more accurate scaling decisions. +- The autoscaler Flink REST client timeout is no longer silently overridden by the operator client timeout. +- Bumped log4j, Jackson, and Beam to retire known CVEs. + +## Release Notes Review Comment: Maybe it's worth adding a small section related to this commit / JIRA (refer to JIRA here) https://github.com/apache/flink-kubernetes-operator/commit/a8407c47a78c29f15a7dd9cc399b93b83d944223 as it may have operational implications that the operator configmap is now mounted as config.yaml if I understand correctly instead of the previous `flink-conf` ########## docs/content/posts/2026-08-06-release-kubernetes-operator-1.16.0.md: ########## @@ -0,0 +1,136 @@ +--- +title: "Apache Flink Kubernetes Operator 1.16.0 Release Announcement" +date: "2026-08-06T08:00:00.000Z" +authors: +- gyfora: + name: "Gyula Fora" +aliases: +- /news/2026/08/06/release-kubernetes-operator-1.16.0.html +--- + +The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.16.0! + +This release centers on **extensibility and documentation**: a completely restructured documentation site, a trio of pluggable autoscaler SPIs (custom evaluators, scaling executors, and parallelism alignment modes), Kubernetes-native pod `ResourceRequirements`, an upgrade to Java Operator SDK 5.5 with Helm 4 support, standalone HA on Flink 2.0+, and a range of Blue/Green, session job, and savepoint reliability fixes. Review Comment: I wouldn't call out JOSDK and standalone HA in this paragraph -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
