再咨询下关于 flink-k8s-operator 的问题。
我看了看问的文档,提供了2个CRD,分别为 FlinkDeployment 和 FlinkSessionJob。不知道如下理解对不对:
(1)对于 application-mode 方式提交运行的任务,则用 FlinkDeployment,并配置好 job 部分。 会自动创建
flink 集群,并根据 job 配置运行job。
         这种方式不需要考虑集群创建、任务提交的步骤,本身就是一体。
(2)对于 session 集群的创建,也是用 FlinkDeployment ,只是不需要指定 job 配置即可。
(3)配合通过(2)方式创建的 session 集群,则可以配合 FlinkSessionJob 提交任务。

Yang Wang <danrtsey...@gmail.com> 于2022年7月12日周二 17:10写道:
>
> 如果你K8s集群内的机器配置的DNS Server也是coredns,那就可以正常解析clusterIP对应的service的
>
> 最初ClusterIP的设计也是让任务管理的Pod来使用,例如flink-kubernetes-operator[1]
>
> [1]. https://github.com/apache/flink-kubernetes-operator
>
> Best,
> Yang
>
> yidan zhao <hinobl...@gmail.com> 于2022年7月12日周二 13:17写道:
>
> > 我用 flink run -m 方式指定 clusterIp 是可以提交任务的。
> > 那么使用 --target kubernetes-session
> > -Dkubernetes.cluster-id=my-first-flink-cluster 的方式,为什么不能智能点拿到对应
> > cluster 的 svc 的 clusterIp 去提交呢。
> >
> > yidan zhao <hinobl...@gmail.com> 于2022年7月12日周二 12:50写道:
> > >
> > > 如果是在 k8s-master-node 上,可不可以直接用 ClusterIp 呢?
> > >
> > >
> > > 其次,NodePort我大概理解,一直不是很懂 LoadBalancer 方式是什么原理。
> > >
> > > yidan zhao <hinobl...@gmail.com> 于2022年7月12日周二 12:48写道:
> > > >
> > > > 我理解的 k8s 集群内是组成 k8s 的机器,是必须在 pod 内?我在k8s的node上也不可以是吧。
> > > >
> > > > Yang Wang <danrtsey...@gmail.com> 于2022年7月12日周二 12:07写道:
> > > > >
> > > > > 日志里面已经说明的比较清楚了,如果用的是ClusterIP的方式,那你的Flink
> > > > > client必须在k8s集群内才能正常提交。例如:起一个Pod,然后再pod里面执行flink run
> > > > > 否则你就需要NodePort或者LoadBalancer的方式了
> > > > >
> > > > > 2022-07-12 10:23:23,021 WARN
> > > > > org.apache.flink.kubernetes.KubernetesClusterDescriptor      [] -
> > > > > Please note that Flink client operations(e.g. cancel, list, stop,
> > > > > savepoint, etc.) won't work from outside the Kubernetes cluster since
> > > > > 'kubernetes.rest-service.exposed.type' has been set to ClusterIP.
> > > > >
> > > > >
> > > > > Best,
> > > > > Yang
> > > > >
> > > > > yidan zhao <hinobl...@gmail.com> 于2022年7月12日周二 10:40写道:
> > > > >
> > > > > > 如下步骤参考的文档
> > > > > >
> > https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/resource-providers/native_kubernetes/#starting-a-flink-session-on-kubernetes
> > > > > >
> > > > > > 版本:1.15
> > > > > >
> > > > > > (1)创建集群:
> > > > > >
> > > > > >
> > https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/resource-providers/native_kubernetes/#starting-a-flink-session-on-kubernetes
> > > > > > (2)提交任务:
> > > > > > ./bin/flink run \
> > > > > >     --target kubernetes-session \
> > > > > >     -Dkubernetes.cluster-id=my-first-flink-cluster \
> > > > > >     ./examples/streaming/TopSpeedWindowing.jar
> > > > > >
> > > > > > svc是ClusterIp类型
> > > > > >
> > > > > > 第二步提交任务环节,显示如下:
> > > > > > Executing example with default input data.
> > > > > > Use --input to specify file input.
> > > > > > Printing result to stdout. Use --output to specify output path.
> > > > > > 2022-07-12 10:23:23,021 WARN
> > > > > > org.apache.flink.kubernetes.KubernetesClusterDescriptor      [] -
> > > > > > Please note that Flink client operations(e.g. cancel, list, stop,
> > > > > > savepoint, etc.) won't work from outside the Kubernetes cluster
> > since
> > > > > > 'kubernetes.rest-service.exposed.type' has been set to ClusterIP.
> > > > > > 2022-07-12 10:23:23,027 INFO
> > > > > > org.apache.flink.kubernetes.KubernetesClusterDescriptor      [] -
> > > > > > Retrieve flink cluster my-first-flink-cluster successfully,
> > JobManager
> > > > > > Web Interface: http://my-first-flink-cluster-rest.test:8081
> > > > > > 2022-07-12 10:23:23,044 WARN
> > > > > > org.apache.flink.kubernetes.KubernetesClusterDescriptor      [] -
> > > > > > Please note that Flink client operations(e.g. cancel, list, stop,
> > > > > > savepoint, etc.) won't work from outside the Kubernetes cluster
> > since
> > > > > > 'kubernetes.rest-service.exposed.type' has been set to ClusterIP.
> > > > > >
> > > > > > ------------------------------------------------------------
> > > > > >  The program finished with the following exception:
> > > > > > org.apache.flink.client.program.ProgramInvocationException: The
> > main
> > > > > > method caused an error: Failed to execute job
> > > > > > 'CarTopSpeedWindowingExample'.
> > > > > > ...
> > > > > > Caused by: org.apache.flink.util.FlinkException: Failed to execute
> > job
> > > > > > 'CarTopSpeedWindowingExample'.
> > > > > > ...
> > > > > > Caused by: org.apache.flink.runtime.client.JobSubmissionException:
> > > > > > Failed to submit JobGraph.
> > > > > > ...
> > > > > > Caused by:
> > org.apache.flink.util.concurrent.FutureUtils$RetryException:
> > > > > > Could not complete the operation. Number of retries has been
> > > > > > exhausted.
> > > > > > ...
> > > > > > Caused by: java.util.concurrent.CompletionException:
> > > > > > java.net.UnknownHostException: my-first-flink-cluster-rest.test:
> > Name
> > > > > > or service not known
> > > > > > ...
> > > > > > Caused by: java.net.UnknownHostException:
> > > > > > my-first-flink-cluster-rest.test: Name or service not known
> > > > > >
> > > > > >
> > > > > > 如上,根据 --target kubernetes-session
> > > > > > -Dkubernetes.cluster-id=my-first-flink-cluster 找到的提交入口为
> > > > > >
> > my-first-flink-cluster-rest.test。这个应该是根据k8s生成的dns,test是flink的namespace。
> > > > > >
> > > > > > 我本地也的确并无法解析 my-first-flink-cluster-rest.test 这个。
> > > > > >
> >

回复