Java 从Kubernetes运行beam数据流作业

Java 从Kubernetes运行beam数据流作业,java,docker,yaml,apache-beam,google-kubernetes-engine,Java,Docker,Yaml,Apache Beam,Google Kubernetes Engine,我很想知道beam数据流作业是否可以使用kubernetes运行。我可以看到很多spring数据流作业都是从kubernetes运行的,而不是beam数据流 我可以看到这样一个例子 但这并不能解释如何传递args参数,比如 args: ["--runner=DataflowRunner --project=$peoject --gcpTempLocation=$gcptemp"] 从中扩展更多信息 我想在kubernetes上部署这个部件 beam_app_direct: contain

我很想知道beam数据流作业是否可以使用kubernetes运行。我可以看到很多spring数据流作业都是从kubernetes运行的,而不是beam数据流

我可以看到这样一个例子

但这并不能解释如何传递args参数,比如

args: ["--runner=DataflowRunner --project=$peoject --gcpTempLocation=$gcptemp"]   
从中扩展更多信息

我想在kubernetes上部署这个部件

beam_app_direct:
container_name: "beam_direct_app"
image: "beam_direct_app"
build:
    context: .
    dockerfile: ./Dockerfile-direct
environment:
- YOUR_ENV_PARAMETER=42
- ANOTHER_ENV_PARAMETER=abc
- ...
links:
- ...
# volume:
# - ./your-beam-app /usr/src/your-beam-app
command: "bash ./init.sh"
但我不知道如何部署它

更新更多详细信息

我的Cronjob.yaml文件

apiVersion: batch/v1
kind: Job
metadata:
      name: "cronjob"
spec:
    template:
    spec:
    containers:
     - name: campaignjob
      image: cronjob
      build:
      context: .
      dockerfile: ./Dockerfile
      command: "bash ./init.sh"
  restartPolicy: Never
kubectl apply-f cronjob.yaml-validate=false

我得到以下错误

作业cronjob无效: *等级库模板等级库容器:所需值 *spec.template.spec.restartPolicy:不支持的值:始终:支持的值:OnFailure,Never

更新:
我很惊讶。我意识到这只是一个错误的YAML文件,但即使在4天后也没有评论。我甚至将此问题发送给Google团队,但他们要求我使用其他技术。

从您提供的github链接,作业必须在主节点上运行。在GKE中,您无法访问主节点,因为它是一个托管服务


我建议使用构建来运行您描述的作业。

数据流作业需要在启动/模板创建时访问输入资源。因此,首先需要在集群中运行它才能工作。