我很想知道光束数据流作业是否可以与kubernetes一起运行。我可以看到许多春季数据流作业运行在kubernetes,但没有梁数据流。
我可以看到一个像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/扩展更多关于这一点的内容
我想把这部分部署到库伯奈特斯身上。
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应用-f cronjob.yaml --验证=false
我收到了跟随错误。
作业“cron作业”无效:* spec.template.spec.containers:必需值* spec.template.spec.restartPolicy:不支持值:“始终”:支持值: OnFailure,从不
更新:我很惊讶。我意识到这只是一个错误的YAML文件,但即使在4天后,没有任何评论。我甚至把这个问题发送给谷歌团队,但他们要求我使用其他技术。
发布于 2018-07-11 17:49:40
从您提供的github链接中,作业必须在主节点上运行。在GKE中,您无法访问主节点,因为它是托管服务。
我建议使用谷歌云数据流来运行您描述的作业。
https://stackoverflow.com/questions/51038899
复制相似问题