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 0f5add2 [FLINK-26959] Simplify quickstart after release 0f5add2 is described below commit 0f5add2055695be51094a26a826e0c5228cbbf6f Author: Gyula Fora <g_f...@apple.com> AuthorDate: Sat Apr 2 17:49:38 2022 +0200 [FLINK-26959] Simplify quickstart after release --- docs/content/docs/concepts/overview.md | 8 +-- docs/content/docs/operations/helm.md | 16 ++++++ .../try-flink-kubernetes-operator/quick-start.md | 59 +++++++++++----------- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/docs/content/docs/concepts/overview.md b/docs/content/docs/concepts/overview.md index 75ec9d4..595d79c 100644 --- a/docs/content/docs/concepts/overview.md +++ b/docs/content/docs/concepts/overview.md @@ -25,7 +25,9 @@ under the License. --> # Overview -Flink Kubernetes Operator acts as a control plane to manage the complete deployment lifecycle of Apache Flink applications. Although Flink’s native Kubernetes integration already allows you to directly deploy Flink applications on a running Kubernetes(k8s) cluster, [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) and the [operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) have also become central to [...] +Flink Kubernetes Operator acts as a control plane to manage the complete deployment lifecycle of Apache Flink applications. Although Flink’s native Kubernetes integration already allows you to directly deploy Flink applications on a running Kubernetes(k8s) cluster, [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) and the [operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) have also become central to [...] + +Flink Kubernetes Operator aims to capture the responsibilities of a human operator who is managing Flink deployments. Human operators have deep knowledge of how Flink deployments ought to behave, how to start clusters, how to deploy jobs, how to upgrade them and how to react if there are problems. The main goal of the operator is the automation of these activities, which cannot be achieved through the Flink native integration alone. # Features @@ -62,5 +64,5 @@ Flink Kubernetes Operator acts as a control plane to manage the complete deploym | | SQL Job | no | | | | Python Job | no | | | CI/CD | Continuous Integration | full | via github actions | -| | Public Helm repository | no | | -| | Public Docker repository | no | | \ No newline at end of file +| | Public Docker repository | full | ghcr.io / dockerhub | +| | Public Helm repository | full | apache release repo | diff --git a/docs/content/docs/operations/helm.md b/docs/content/docs/operations/helm.md index d5c98fc..54a1666 100644 --- a/docs/content/docs/operations/helm.md +++ b/docs/content/docs/operations/helm.md @@ -41,6 +41,22 @@ helm install flink-kubernetes-operator helm/flink-kubernetes-operator --namespac Note that in this case you will need to update the namespace in the examples accordingly or the `default` namespace to the [watched namespaces](#watching-only-specific-namespaces). +## Overriding configuration parameters during Helm install + +Helm provides different ways to override the default installation parameters (contained in `values.yaml`) for the Helm chart. + +To override single parameters you can use `--set`, for example: +``` +helm install --set image.repository=apache/flink-kubernetes-operator --set image.tag=1.0.1 flink-kubernetes-operator helm/flink-kubernetes-operator +``` + +You can also provide your custom values file by using the `-f` flag: +``` +helm install -f myvalues.yaml flink-kubernetes-operator helm/flink-kubernetes-operator +``` + +For more information check the [Helm documentation](https://helm.sh/docs/helm/helm_install/). + ## Validating webhook In order to use the webhook for FlinkDeployment validation, you must install the cert-manager on the Kubernetes cluster: diff --git a/docs/content/docs/try-flink-kubernetes-operator/quick-start.md b/docs/content/docs/try-flink-kubernetes-operator/quick-start.md index 871fe96..e98ffb9 100644 --- a/docs/content/docs/try-flink-kubernetes-operator/quick-start.md +++ b/docs/content/docs/try-flink-kubernetes-operator/quick-start.md @@ -26,8 +26,8 @@ under the License. # Quick Start -This document provides a quick introduction to using the Flink Kubernetes Operator. Readers -of this document will be able to deploy the Flink operator itself and an example Flink job to a local +This document provides a quick introduction to using the Flink Kubernetes Operator. Readers +of this document will be able to deploy the Flink operator itself and an example Flink job to a local Kubernetes installation. ## Prerequisites @@ -36,13 +36,12 @@ We assume that you have a local installations of the following: 1. [docker](https://docs.docker.com/) 2. [kubernetes](https://kubernetes.io/) 3. [helm](https://helm.sh/docs/intro/quickstart/) -4. [git](https://github.com/git-guides/install-git/) -So that the `docker`, `kubectl`, `helm` and `git` commands are available on your local system. +So that the `kubectl` and `helm` commands are available on your local system. -For docker we recommend that you have [Docker Desktop](https://www.docker.com/products/docker-desktop) installed +For docker we recommend that you have [Docker Desktop](https://www.docker.com/products/docker-desktop) installed and configured with at least 8GB of RAM. -For kubernetes [minikube](https://minikube.sigs.k8s.io/docs/start/) is our choice, at the time of writing this we are +For kubernetes [minikube](https://minikube.sigs.k8s.io/docs/start/) is our choice, at the time of writing this we are using version v1.21.5. You can start a cluster with the following command: ```bash @@ -63,32 +62,28 @@ minikube start --kubernetes-version=v1.21.5 We also recommend [k9s](https://k9scli.io/) as GUI for kubernetes, but it is optional for this quickstart guide. -## Building the operator image from source - -```shell -git clone https://github.com/apache/flink-kubernetes-operator.git -cd flink-kubernetes-operator -``` - -You can build the docker image of the operator via the following command from the project root folder: -```bash -docker build . -t flink-kubernetes-operator -``` -When using minikube you need to make this image available within the running minikube container: -```bash -minikube image load flink-kubernetes-operator -``` - ## Deploying the operator -Install the certificate manager to enable adding the webhook component (only neede once per Kubernetes cluster): +Install the certificate manager on your Kubernetes cluster to enable adding the webhook component (only needed once per Kubernetes cluster): ```bash kubectl create -f https://github.com/jetstack/cert-manager/releases/download/v1.7.1/cert-manager.yaml ``` -You can deploy the operator via the included helm chart: + +{{< hint info >}} +In case the cert manager installation failed for any reason you can disable the webhook by passing `--set webhook.create=false` to the helm install command for the operator. +{{< /hint >}} + +Now you can deploy the latest stable Flink Kubernetes Operator version using the included Helm chart: ```bash -helm install flink-kubernetes-operator helm/flink-kubernetes-operator +helm repo add flink-operator-repo https://downloads.apache.org/flink/flink-kubernetes-operator-0.1.0/ +helm install flink-kubernetes-operator flink-operator-repo/flink-kubernetes-operator ``` + +{{< hint info >}} +The Helm chart by default points to the `ghcr.io/apache/flink-kubernetes-operator` image repository. +If you have connectivity issues or prefer to use Dockerhub instead you can use `--set image.repository=apache/flink-kubernetes-operator` during installation. +{{< /hint >}} + You may verify your installation via `kubectl` and `helm`: ```bash kubectl get pods @@ -104,7 +99,7 @@ flink-kubernetes-operator default 1 2022-03-09 17 (tel:12022030917):39:55.461359 Once the operator is running as seen in the previous step you are ready to submit a Flink job: ```bash -kubectl create -f examples/basic.yaml +kubectl create -f https://raw.githubusercontent.com/apache/flink-kubernetes-operator/release-0.1/examples/basic.yaml ``` You may follow the logs of your job, after a successful startup (which can take on the order of a minute in a fresh environment, seconds afterwards) you can: @@ -117,10 +112,16 @@ kubectl logs -f deploy/basic-example 2022-03-11 21:46:06,483 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Completed checkpoint 207 for job a12c04ac7f5d8418d8ab27931bf517b7 (28725 bytes, checkpointDuration=25 ms, finalizationTime=0 ms). ``` -To expose the Flink Dashboard you may add a port-forward rule or start a tunnel: +To expose the Flink Dashboard you may add a port-forward rule or look the [ingress configuration options]({{< ref "docs/operations/ingress" >}}): ```bash -minikube tunnel +kubectl port-forward svc/basic-example-rest 8081 ``` -Now the Flink Dashboard is accessible at [localhost:8081](http://localhost:8081/). \ No newline at end of file +Now the Flink Dashboard is accessible at [localhost:8081](http://localhost:8081/). + +In order to stop your job and delete your FlinkDeployment you can simply: + +```bash +kubectl delete flinkdeployment/basic-example +```