繁体   English   中英

Kubernetes的运行波束数据流作业

[英]Running beam dataflow Jobs from Kubernetes

我很好奇是否可以使用kubernetes运行Beam数据流作业。 我可以看到很多来自Kubernetes的spring数据流作业,但不是Beam数据流。

我可以看到一个示例,例如https://github.com/sanderploegsma/beam-scheduling-kubernetes/blob/master/kubernetes/cronjob.yml

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

args: ["--runner=DataflowRunner --project=$peoject --gcpTempLocation=$gcptemp"]   

https://streambench.wordpress.com/2018/06/07/set-up-the-direct-runner-for-beam/扩展更多

我想在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.containers:必需值* spec.template.spec.restartPolicy:不支持的值:“始终”:支持的值:OnFailure,从不

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

通过您提供的github链接,该作业必须在Master节点上运行。 在GKE中,您无权访问“主”节点,因为它是一项托管服务。

我建议使用专为运行您描述的作业而构建的Google Cloud Dataflow

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM