| ################################################################################ |
| # 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: flink-example-wordcount-batch |
| spec: |
| image: flink:1.20 |
| flinkVersion: v1_20 |
| ingress: |
| template: "/{{namespace}}/{{name}}(/|$)(.*)" |
| className: "nginx" |
| annotations: |
| nginx.ingress.kubernetes.io/rewrite-target: "/$2" |
| flinkConfiguration: |
| taskmanager.numberOfTaskSlots: 2 |
| kubernetes.operator.snapshot.resource.enabled: false |
| serviceAccount: flink |
| podTemplate: |
| spec: |
| initContainers: |
| - name: artifacts-fetcher |
| image: busybox:1.35.0 |
| imagePullPolicy: IfNotPresent |
| # Use wget or other tools to get user jars from remote storage |
| command: [ 'wget', 'STREAMING_EXAMPLES_JAR_URL', '-O', '/flink-artifact/myjob.jar' ] |
| volumeMounts: |
| - mountPath: /flink-artifact |
| name: flink-artifact |
| 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/usrlib |
| name: flink-artifact |
| volumes: |
| - name: flink-artifact |
| emptyDir: { } |
| jobManager: |
| resource: |
| memory: "1024m" |
| cpu: 0.5 |
| taskManager: |
| resource: |
| memory: "1Gi" |
| cpu: 0.5 |
| job: |
| jarURI: local:///opt/flink/usrlib/myjob.jar |
| entryClass: org.apache.flink.streaming.examples.wordcount.WordCount |
| args: ["--execution-mode", "BATCH"] |
| parallelism: 2 |
| upgradeMode: stateless |
| mode: native |
| |
| --- |
| 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 |