Kubernetes 可以在工作流中将分析作业链接在一起吗?

Has*_*tax 9 workflow jobs pipeline kubernetes data-science

阅读 Kubernetes “Run to Completion”文档,它说作业可以并行运行,但是否可以将一系列应按顺序(并行和/或非并行)运行的作业链接在一起。

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/


还是由用户使用 PubSub 消息服务跟踪哪些作业已完成并触发下一个作业?

Mik*_*ike 6

过去我在 PodSpec 下使用过 initContainers 来解决这样的问题:https ://kubernetes.io/docs/concepts/workloads/pods/init-containers/

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']
  initContainers:
  - name: init-myservice
    image: busybox
    command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
  - name: init-mydb
    image: busybox
    command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;']
Run Code Online (Sandbox Code Playgroud)

在这里查看使用“depends”关键字链接容器也是一种选择:

https://github.com/kubernetes/kubernetes/issues/1996


cod*_*ger 3

总的来说,没有。查看诸如Airflow之类的东西。作业对象为您提供了一种非常简单的方法来运行容器直至其完成,仅此而已。并行性在于您可以运行多个副本,它不是一个完整的工作流程管理系统:)