-
Notifications
You must be signed in to change notification settings - Fork 329
Flink Kubernetes Operator 1.15.0 #845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: asf-site
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,99 @@ | ||||||||||||
| --- | ||||||||||||
| title: "Apache Flink Kubernetes Operator 1.15.0 Release Announcement" | ||||||||||||
| date: "2026-05-04T08:00:00.000Z" | ||||||||||||
| authors: | ||||||||||||
| - gyfora: | ||||||||||||
| name: "Gyula Fora" | ||||||||||||
| aliases: | ||||||||||||
| - /news/2026/05/04/release-kubernetes-operator-1.15.0.html | ||||||||||||
| --- | ||||||||||||
|
|
||||||||||||
| The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.15.0! | ||||||||||||
|
|
||||||||||||
| This release brings **Kubernetes-native Conditions** to `FlinkDeployment`, **Logback logging support**, bundled metric reporters, Flink 2.2 compatibility, and a number of important reliability fixes across session jobs, savepoints, and the mutating webhook. | ||||||||||||
|
|
||||||||||||
| 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 | ||||||||||||
|
|
||||||||||||
| ### Kubernetes Conditions in FlinkDeployment Status | ||||||||||||
|
|
||||||||||||
| The operator now exposes a standard Kubernetes | ||||||||||||
| [Condition](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions) in the `status` field of | ||||||||||||
| `FlinkDeployment` resources. The `Running` condition gives tooling a consistent, machine-readable signal of whether | ||||||||||||
| the deployment is up and running, directly usable with `kubectl wait`, GitOps controllers, and any tool that speaks | ||||||||||||
| Kubernetes conditions. | ||||||||||||
|
|
||||||||||||
| For example, to wait until a deployment is running: | ||||||||||||
|
|
||||||||||||
| ```shell | ||||||||||||
| kubectl wait flinkdeployment/my-job --for=condition=Running --timeout=120s | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| ### Logback Logging Support | ||||||||||||
|
|
||||||||||||
| The operator now supports **Logback** as an alternative logging framework alongside the existing Log4j2 default. | ||||||||||||
| The active framework is selected at install time via the new `logging.framework` Helm value: | ||||||||||||
|
|
||||||||||||
| Both `logback-operator.xml` and `logback-console.xml` configuration files are bundled in the Helm chart and can be | ||||||||||||
| customized the same way as the existing Log4j2 properties files. This is particularly useful for organizations that | ||||||||||||
| standardize on Logback or rely on Logback-specific appenders and integrations. | ||||||||||||
|
|
||||||||||||
| ### Additional Metric Reporters Bundled | ||||||||||||
|
|
||||||||||||
| The operator Helm chart now bundles several additional Flink metric reporter JARs out of the box, making it easier to | ||||||||||||
| integrate with popular monitoring stacks without manual dependency management. The metrics documentation has also been | ||||||||||||
| substantially expanded with detailed configuration examples covering common setups such as Prometheus, InfluxDB, and | ||||||||||||
| StatsD. | ||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would say that this paragraph could be a bit improved as there are more to highlight here. Based on the #1102 PR content only
Suggested change
|
||||||||||||
|
|
||||||||||||
| ### Flink 2.2 Compatibility | ||||||||||||
|
|
||||||||||||
| Operator 1.15.0 is fully validated against Apache Flink 2.2. The supported Flink version matrix is: | ||||||||||||
|
|
||||||||||||
| **2.2.x, 2.1.x, 2.0.x, 1.20.x, 1.19.x** | ||||||||||||
|
|
||||||||||||
| ## Notable Bug Fixes | ||||||||||||
|
|
||||||||||||
| ### Savepoint and State Management | ||||||||||||
|
|
||||||||||||
| - Fixed a race condition where a savepoint or last-state upgrade could lose job state when the JobManager was slow to | ||||||||||||
| start. | ||||||||||||
| - Fixed an issue where savepoint history entries were removed from the status before the savepoint file was | ||||||||||||
| successfully disposed, which could leave orphaned savepoint files on the filesystem. | ||||||||||||
| - Terminal (FINISHED / FAILED) jobs are no longer erroneously restarted by the cluster/job health check, eliminating | ||||||||||||
| unexpected job restarts after intentional completion. | ||||||||||||
|
|
||||||||||||
| ### Session Job Reliability | ||||||||||||
|
|
||||||||||||
| - Added a new configuration option to cancel a running session job when the `FlinkSessionJob` resource is deleted, | ||||||||||||
| rather than blocking on the finalizer indefinitely. | ||||||||||||
| - Improved the session job deletion flow so that cleanup proceeds correctly even when the session cluster is | ||||||||||||
| temporarily unreachable. | ||||||||||||
| - Fixed a bug where `FlinkSessionJob` deletion could get stuck behind a finalizer that was never cleared. | ||||||||||||
| - Fixed missing `ownerReferences` on JobManager Deployments recreated during session cluster recovery, ensuring | ||||||||||||
| proper garbage collection. | ||||||||||||
|
|
||||||||||||
| ## Release Notes | ||||||||||||
|
|
||||||||||||
| The release notes can be found [here](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12356437). | ||||||||||||
|
|
||||||||||||
| ## Release Resources | ||||||||||||
|
|
||||||||||||
| The source artifacts and helm chart are available on the Downloads page of the Flink website. You can easily try out the new features shipped in the official 1.15.0 release by adding the Helm chart to your own local registry: | ||||||||||||
|
|
||||||||||||
| ``` | ||||||||||||
| $ helm repo add flink-kubernetes-operator-1.15.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-1.15.0/ | ||||||||||||
| $ helm install flink-kubernetes-operator flink-kubernetes-operator-1.15.0/flink-kubernetes-operator --set webhook.create=false | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| You can also find official Kubernetes Operator Docker images of the new version on [Dockerhub](https://hub.docker.com/r/apache/flink-kubernetes-operator). | ||||||||||||
|
|
||||||||||||
| For more details, check the [updated documentation](https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.15/) and the release notes. We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA. | ||||||||||||
|
|
||||||||||||
| ## List of Contributors | ||||||||||||
|
|
||||||||||||
| The Apache Flink community would like to thank all contributors who made this release possible: | ||||||||||||
|
|
||||||||||||
| Andrea Cosentino, David Radley, Dennis-Mircea Ciupitu, Ferenc Csaky, Gabor Somogyi, GuoYu, Gyula Fora, Harshit Gupta, jennifer-xiong25, Krzysztof Adrian Palka, Michał Kozal, Prashant Khanal, Purushottam Sinha, Sergio Chong, wangxinglong, wangxinglong02 | ||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see here that no concrete example follows the
:put at the end. I'd suggest the follwing: