| ################################################################################ |
| # 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. |
| ################################################################################ |
| |
| apiVersion: flink.apache.org/v1beta1 |
| kind: FlinkDeployment |
| metadata: |
| namespace: default |
| name: session-cluster-1 |
| spec: |
| image: flink:1.17 |
| flinkVersion: v1_17 |
| ingress: |
| template: "/{{namespace}}/{{name}}(/|$)(.*)" |
| className: "nginx" |
| annotations: |
| nginx.ingress.kubernetes.io/rewrite-target: "/$2" |
| flinkConfiguration: |
| taskmanager.numberOfTaskSlots: "2" |
| high-availability: org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory |
| high-availability.storageDir: file:///opt/flink/volume/flink-ha |
| state.checkpoints.dir: file:///opt/flink/volume/flink-cp |
| state.savepoints.dir: file:///opt/flink/volume/flink-sp |
| serviceAccount: flink |
| podTemplate: |
| spec: |
| containers: |
| # Do not change the main container name |
| - name: flink-main-container |
| resources: |
| requests: |
| ephemeral-storage: 2048Mi |
| limits: |
| ephemeral-storage: 2048Mi |
| volumeMounts: |
| - mountPath: /opt/flink/volume |
| name: flink-volume |
| volumes: |
| - name: flink-volume |
| persistentVolumeClaim: |
| claimName: session-cluster-1-pvc |
| jobManager: |
| resource: |
| memory: "1Gi" |
| cpu: 0.5 |
| taskManager: |
| resource: |
| memory: "1024m" |
| cpu: 0.5 |
| mode: native |
| |
| --- |
| apiVersion: flink.apache.org/v1beta1 |
| kind: FlinkSessionJob |
| metadata: |
| namespace: default |
| name: flink-example-statemachine |
| spec: |
| deploymentName: session-cluster-1 |
| job: |
| jarURI: https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.4/flink-examples-streaming_2.12-1.14.4.jar |
| parallelism: 2 |
| upgradeMode: savepoint |
| entryClass: org.apache.flink.streaming.examples.statemachine.StateMachineExample |
| |
| --- |
| apiVersion: v1 |
| kind: PersistentVolumeClaim |
| metadata: |
| name: session-cluster-1-pvc |
| spec: |
| accessModes: |
| - ReadWriteOnce |
| volumeMode: Filesystem |
| resources: |
| requests: |
| storage: 1Gi |
| |
| --- |
| apiVersion: networking.k8s.io/v1 |
| kind: IngressClass |
| metadata: |
| annotations: |
| ingressclass.kubernetes.io/is-default-class: "true" |
| labels: |
| app.kubernetes.io/component: controller |
| name: nginx |
| spec: |
| controller: k8s.io/ingress-nginx |