You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Mark Lee <li...@126.com> on 2022/11/30 15:01:50 UTC

Flink Operator create Session Job unsuccessfully

Hi, 

   I'm creating a session job using FlinkOperator. The CRD as follows:

 

############################################################################
####

#  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-statemachine

spec:

  image: flink:1.15.2

  flinkVersion: v1_15

  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:

    apiVersion: v1

    kind: Pod

    metadata:

      name: pod-template

    spec:

      initContainers:

        - name: artifacts-fetcher

          image: flinktest:1.0

          imagePullPolicy: Always

          command: [ 'cp','/flink-artifact/myjob.jar', '/tmp/myjob.jar' ]

          # Use wget or other tools to get user jars from remote storage

          volumeMounts:

            - mountPath: /tmp

              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

            - mountPath: /opt/flink/volume

              name: flink-volume

      volumes:

        - name: flink-artifact

          emptyDir: { }

        - name: flink-volume

          persistentVolumeClaim:

            claimName: flink-example-statemachine

  jobManager:

    resource:

      memory: "1024m"

      cpu: 0.5

  taskManager:

    resource:

      memory: "1024m"

      cpu: 0.5

  mode: native

 

---

apiVersion: flink.apache.org/v1beta1

kind: FlinkSessionJob

metadata:

  namespace: default

  name: newjob

spec:

  deploymentName: flink-example-statemachine

  job:

    jarURI: local:///opt/flink/usrlib/myjob.jar

    parallelism: 2

    upgradeMode: last-state

    entryClass:
org.apache.flink.streaming.examples.statemachine.StateMachineExample

 

---

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: flink-example-statemachine

spec:

  storageClassName: ccos-hostpath-data-meta

  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



 

and the job manager is created successfully but the task manager pod is not
created, there's no error log in flink operator and job manager.

Follow picture is pods list in my k8s environment.



 

And the same config using application mode, the job can create successfully.

 

It troubles me serveral days. Can someone help me ? Thank you.