This is an automated email from the ASF dual-hosted git repository. mbalassi pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/flink-web.git
commit 783d340f438830a9315509f739249aa54d4cfb98 Author: Gyula Fora <[email protected]> AuthorDate: Mon Mar 28 13:17:38 2022 +0200 Add Kubernetes Operator 0.1.0 release Closes #519 --- _config.yml | 31 ++++- _includes/navbar.html | 2 +- ...2022-04-03-release-kubernetes-operator-0.1.0.md | 128 +++++++++++++++++++++ downloads.md | 46 +++++++- .../overview.svg | 22 ++++ 5 files changed, 222 insertions(+), 7 deletions(-) diff --git a/_config.yml b/_config.yml index af3bb9d0a..b16fe6879 100644 --- a/_config.yml +++ b/_config.yml @@ -29,9 +29,8 @@ FLINK_ML_STABLE_SHORT: "2.0" FLINK_ML_GITHUB_URL: https://github.com/apache/flink-ml FLINK_ML_GITHUB_REPO_NAME: flink-ml -#TODO If kubernetes operator stable version complete,replace it to stable version -FLINK_KUBERNETES_OPERATOR_VERSION_STABLE: 1.0 -FLINK_KUBERNETES_OPERATOR_STABLE_SHORT: "1.0" +FLINK_KUBERNETES_OPERATOR_VERSION_STABLE: 0.1.0 +FLINK_KUBERNETES_OPERATOR_STABLE_SHORT: "0.1" FLINK_KUBERNETES_OPERATOR_URL: https://github.com/apache/flink-kubernetes-operator FLINK_KUBERNETES_OPERATOR_GITHUB_REPO_NAME: flink-kubernetes-operator @@ -181,6 +180,24 @@ flink_ml_releases: asc_url: "https://downloads.apache.org/flink/flink-ml-2.0.0/flink-ml-2.0.0-src.tgz.asc" sha512_url: "https://downloads.apache.org/flink/flink-ml-2.0.0/flink-ml-2.0.0-src.tgz.sha512" +flink_kubernetes_operator_releases: + - + version_short: "0.1" + source_release: + name: "Apache Flink Kubernetes Operator 0.1.0" + id: "010-kubernetes-operator-download-source" + flink_version: "1.14.4" + url: "https://www.apache.org/dyn/closer.lua/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-src.tgz" + asc_url: "https://downloads.apache.org/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-src.tgz.asc" + sha512_url: "https://downloads.apache.org/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-src.tgz.sha512" + helm_release: + name: "Apache Flink Kubernetes Operator Helm Chart 0.1.0" + id: "010-kubernetes-operator-download-helm" + flink_version: "1.14.4" + url: "https://www.apache.org/dyn/closer.lua/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-helm.tgz" + asc_url: "https://downloads.apache.org/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-helm.tgz.asc" + sha512_url: "https://downloads.apache.org/flink/flink-kubernetes-operator-0.1.0/flink-kubernetes-operator-0.1.0-helm.tgz.sha512" + component_releases: - name: "Apache Flink-shaded 15.0 Source Release" @@ -615,6 +632,11 @@ release_archive: version_long: 2.0.0 release_date: 2021-01-07 + flink_kubernetes_operator: + - version_short: 0.1 + version_long: 0.1.0 + release_date: 2022-04-02 + # Version numbers used in the text for stable and snapshot versions, # e.g. "Documentation for {{ site.stable }". stable: "1.14" @@ -629,8 +651,7 @@ docs-statefun-snapshot: "https://nightlies.apache.org/flink/flink-statefun-docs- docs-ml-stable: "https://nightlies.apache.org/flink/flink-ml-docs-release-2.0" docs-ml-snapshot: "https://nightlies.apache.org/flink/flink-ml-docs-master" -#TODO If kubernetes operator stable version complete,replace it to stable url -docs-kubernetes-operator-stable: "https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main" +docs-kubernetes-operator-stable: "https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-0.1" docs-kubernetes-operator-snapshot: "https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main" docs-table-store-stable: "https://nightlies.apache.org/flink/flink-table-store-docs-release-0.1" diff --git a/_includes/navbar.html b/_includes/navbar.html index a69285778..bb9455638 100755 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -93,7 +93,7 @@ <li><a href="{{ site.docs-ml-stable }}" target="_blank">Flink ML {{site.FLINK_ML_STABLE_SHORT}} (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> <li><a href="{{ site.docs-ml-snapshot }}" target="_blank">Flink ML Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> <li><a href="{{ site.docs-kubernetes-operator-stable }}" target="_blank">Flink Kubernetes Operator {{site.FLINK_KUBERNETES_OPERATOR_STABLE_SHORT}} (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> - <li><a href="{{ site.docs-kubernetes-operator-snapshot }}" target="_blank">Flink Kubernetes Operator Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> + <li><a href="{{ site.docs-kubernetes-operator-snapshot }}" target="_blank">Flink Kubernetes Operator Main (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> <li><a href="{{ site.docs-table-store-stable }}" target="_blank">Flink Table Store {{site.FLINK_TABLE_STORE_STABLE_SHORT}} (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> <li><a href="{{ site.docs-table-store-snapshot }}" target="_blank">Flink Table Store Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li> </ul> diff --git a/_posts/2022-04-03-release-kubernetes-operator-0.1.0.md b/_posts/2022-04-03-release-kubernetes-operator-0.1.0.md new file mode 100644 index 000000000..b10fbdf75 --- /dev/null +++ b/_posts/2022-04-03-release-kubernetes-operator-0.1.0.md @@ -0,0 +1,128 @@ +--- +layout: post +title: "Apache Flink Kubernetes Operator 0.1.0 Release Announcement" +subtitle: "Lifecycle management for Apache Flink deployments using native Kubernetes tooling" +date: 2022-04-03T08:00:00.000Z +categories: news +authors: +- gyfora: + name: "Gyula Fora" + twitter: "GyulaFora" + +--- + +The Apache Flink Community is pleased to announce the preview release of the Apache Flink Kubernetes Operator (0.1.0) + +The Flink Kubernetes Operator allows users to easily manage their Flink deployment lifecycle using native Kubernetes tooling. + +The operator takes care of submitting, savepointing, upgrading and generally managing Flink jobs using the built-in Flink Kubernetes integration. +This way users do not have to use the Flink Clients (e.g. CLI) or interact with the Flink jobs manually, they only have to declare the desired deployment specification and the operator will take care of the rest. It also make it easier to integrate Flink job management with CI/CD tooling. + +**Core Features** + + * Deploy and monitor Flink Application and Session deployments + * Upgrade, suspend and delete Flink deployments + * Full logging and metrics integration + +<div style="line-height:60%;"> + <br> +</div> + +<center> + <figure> + <img src="{{ site.baseurl }}/img/blog/2022-04-03-release-kubernetes-operator-0.1.0/overview.svg" width="600px" alt="Overview 1"/> + <br/><br/> + </figure> +</center> + +<div style="line-height:150%;"> + <br> +</div> + +## Getting started + +For a detailed [getting started guide]({{site.DOCS_BASE_URL}}flink-kubernetes-operator-docs-release-0.1/docs/try-flink-kubernetes-operator/quick-start/) please check the documentation site. + +## FlinkDeployment CR overview + +When using the operator, users create `FlinkDeployment` objects to describe their Flink application and session clusters deployments. + +A minimal application deployment yaml would look like this: + +```yaml +apiVersion: flink.apache.org/v1alpha1 +kind: FlinkDeployment +metadata: + namespace: default + name: basic-example +spec: + image: flink:1.14 + flinkVersion: v1_14 + flinkConfiguration: + taskmanager.numberOfTaskSlots: "2" + serviceAccount: flink + jobManager: + replicas: 1 + resource: + memory: "2048m" + cpu: 1 + taskManager: + resource: + memory: "2048m" + cpu: 1 + job: + jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar + parallelism: 2 + upgradeMode: stateless +``` + +Once applied to the cluster using `kubectl apply -f your-deployment.yaml` the operator will spin up the application cluster for you. +If you would like to upgrade or make changes to your application, you can simply modify the yaml and submit it again, the operator will execute the necessary steps (savepoint, shutdown, redeploy etc.) to upgrade your application. + +To stop and delete your application cluster you can simply call `kubectl delete -f your-deployment.yaml`. + +You can read more about the [job management features]({{site.DOCS_BASE_URL}}flink-kubernetes-operator-docs-release-0.1/docs/custom-resource/job-management/) on the documentation site. + +## What's Next? + +The community is currently working on hardening the core operator logic, stabilizing the APIs and adding the remaining bits for making the Flink Kubernetes Operator production ready. + +In the upcoming 1.0.0 release you can expect (at-least) the following additional features: + + * Support for Session Job deployments + * Job upgrade rollback strategies + * Pluggable validation logic + * Operator deployment customization + * Improvements based on feedback from the preview release + +In the medium term you can also expect: + + * Support for standalone / reactive deployment modes + * Support for other job types such as SQL or Python + +Please give the preview release a try, share your feedback on the Flink mailing list and contribute to the project! + +## Release Resources + +The source artifacts and helm chart are now available on the updated [Downloads](https://flink.apache.org/downloads.html) +page of the Flink website. + +The [official 0.1.0 release archive](https://archive.apache.org/dist/flink/flink-kubernetes-operator-0.1.0/) doubles as a Helm repository that you can easily register locally: + +{% highlight bash%} +$ helm repo add flink-kubernetes-operator-0.1.0 https://archive.apache.org/dist/flink/flink-kubernetes-operator-0.1.0/ +$ helm install flink-kubernetes-operator flink-kubernetes-operator-0.1.0/flink-kubernetes-operator --set webhook.create=false +{% endhighlight%} + +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]({{site.DOCS_BASE_URL}}flink-kubernetes-operator-docs-release-0.1/) and the +[release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12351499). +We encourage you to download the release and share your feedback with the community through the [Flink mailing lists](https://flink.apache.org/community.html#mailing-lists) +or [JIRA](https://issues.apache.org/jira/issues/?jql=project%20%3D%20FLINK%20AND%20component%20%3D%20%22Kubernetes%20Operator%22). + +## List of Contributors + +The Apache Flink community would like to thank each and every one of the contributors that have made this release possible: + +Aitozi, Biao Geng, Gyula Fora, Hao Xin, Jaegu Kim, Jaganathan Asokan, Junfan Zhang, Marton Balassi, Matyas Orhidi, Nicholas Jiang, Sandor Kelemen, Thomas Weise, Yang Wang, 愚鲤 diff --git a/downloads.md b/downloads.md index 15a5e19a7..18d539c31 100644 --- a/downloads.md +++ b/downloads.md @@ -141,6 +141,27 @@ This version is compatible with Apache Flink version {{ flink_ml_release.source_ {% endfor %} +Apache Flink® Kubernetes Operator {{ site.FLINK_KUBERNETES_OPERATOR_VERSION_STABLE }} is the latest stable release for the [Flink Kubernetes Operator](https://github.com/apache/flink-kubernetes-operator). + +{% for flink_kubernetes_operator_release in site.flink_kubernetes_operator_releases %} + +## {{ flink_kubernetes_operator_release.source_release.name }} + +<p> +<a href="{{ flink_kubernetes_operator_release.source_release.url }}" id="{{ flink_kubernetes_operator_release.source_release.id }}">{{ flink_kubernetes_operator_release.source_release.name }} Source Release</a> +(<a href="{{ flink_kubernetes_operator_release.source_release.asc_url }}">asc</a>, <a href="{{ flink_kubernetes_operator_release.source_release.sha512_url }}">sha512</a>) +</p> +<p> +<a href="{{ flink_kubernetes_operator_release.helm_release.url }}" id="{{ flink_kubernetes_operator_release.helm_release.id }}">{{ flink_kubernetes_operator_release.helm_release.name }} Helm Chart Release</a> +(<a href="{{ flink_kubernetes_operator_release.helm_release.asc_url }}">asc</a>, <a href="{{ flink_kubernetes_operator_release.helm_release.sha512_url }}">sha512</a>) +</p> + +This version is compatible with Apache Flink version {{ flink_kubernetes_operator_release.source_release.flink_version }}. + +--- + +{% endfor %} + ## Additional Components These are components that the Flink project develops which are not part of the @@ -233,6 +254,18 @@ Advanced users could only import a minimal set of Flink ML dependencies for thei - Use artifacts `flink-ml-core_2.12` and `flink-ml-iteration_2.12` in order to develop custom ML algorithms which require iteration. - Use artifact `flink-ml-lib_2.12` in order to use the off-the-shelf ML algorithms from Flink ML. +### Apache Flink Kubernetes Operator + +You can add the following dependencies to your `pom.xml` to include Apache Flink Kubernetes Operator in your project. + +```xml +<dependency> + <groupId>org.apache.flink</groupId> + <artifactId>flink-kubernetes-operator</artifactId> + <version>{{ site.FLINK_KUBERNETES_OPERATOR_VERSION_STABLE }}</version> +</dependency> +``` + ## Update Policy for old releases As of March 2017, the Flink community [decided](http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Time-based-releases-in-Flink-tp15386p15394.html) to support the current and previous minor release with bugfixes. If 1.2.x is the current release, 1.1.y is the previous minor supported release. Both versions will receive bugfixes for critical issues. @@ -295,4 +328,15 @@ Flink ML {{ flink_ml_release.version_long }} - {{ flink_ml_release.release_date (<a href="https://archive.apache.org/dist/flink/flink-ml-{{ flink_ml_release.version_long }}/flink-ml-{{ flink_ml_release.version_long }}-src.tgz">Source</a>) </li> {% endfor %} -</ul> \ No newline at end of file +</ul> + +### Flink-Kubernetes-Operator +{% assign flink_kubernetes_operator_releases = site.release_archive.flink_kubernetes_operator %} +<ul> +{% for flink_kubernetes_operator_release in flink_kubernetes_operator_releases %} +<li> +Flink Kubernetes Operator {{ flink_kubernetes_operator_release.version_long }} - {{ flink_kubernetes_operator_release.release_date }} +(<a href="https://archive.apache.org/dist/flink/flink-kubernetes-operator-{{ flink_kubernetes_operator_release.version_long }}/flink-kubernetes-operator-{{ flink_kubernetes_operator_release.version_long }}-src.tgz">Source</a>, <a href="https://archive.apache.org/dist/flink/flink-kubernetes-operator-{{ flink_kubernetes_operator_release.version_long }}/flink-kubernetes-operator-{{ flink_kubernetes_operator_release.version_long }}-helm.tgz">Helm Chart</a>) +</li> +{% endfor %} +</ul> diff --git a/img/blog/2022-04-03-release-kubernetes-operator-0.1.0/overview.svg b/img/blog/2022-04-03-release-kubernetes-operator-0.1.0/overview.svg new file mode 100644 index 000000000..44c9782d7 --- /dev/null +++ b/img/blog/2022-04-03-release-kubernetes-operator-0.1.0/overview.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> +<!-- Do not edit this file with editors other than diagrams.net --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="842px" height="403px" viewBox="-0.5 -0.5 842 403" content="<mxfile host="app.diagrams.net" modified="2022-03-21T11:55:38.872Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36" etag="xW_SmLfIgEiuzRGQeTdM" version="17.1.3" type="google"><diagram id= [...] \ No newline at end of file
