在阅读Kubernetes的“完成运行”文档时,它表示可以并行运行作业,但是可以将应按顺序运行(并行和/或不并行)的一系列作业链接在一起
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
还是由用户来跟踪完成了哪些作业并使用PubSub消息传递服务触发下一个作业?
答案 0 :(得分:3)
无法使用 Kubernetes 核心 API 对象管理作业工作流。
其他替代方案包括:
本文档可能也有帮助:https://www.preprints.org/manuscript/202001.0378/v1/download
答案 1 :(得分:2)
过去,我曾使用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;']
使用“ depends”关键字在这里查看容器链接也是一种选择:
答案 2 :(得分:1)
将近 3 年后,我会再给出一个答案。
Kubeflow 管道 https://www.kubeflow.org/docs/components/pipelines/overview/pipelines-overview/
实际上在幕后使用 Argo。