Ich versuche, meinen alten Job-Scheduler durch einen Kubernetes-Job zu ersetzen und mich zu wundern, wie man sequenzielle Jobs als Kubernetes-Job schreibt.Wie schreibe ich sequentielle Jobs als Kubernetes-Job?
Zuerst schrieb ich das folgende Skript, um job1
und job2
in der geschriebenen Reihenfolge auszuführen, aber es funktionierte nicht wie erwartet.
apiVersion: batch/v1
kind: Job
metadata:
name: sequential
spec:
activeDeadlineSeconds: 100
template:
metadata:
name: sequential_jobs
spec:
containers:
- name: job1
image: image1
- name: job2
image: image2
restartPolicy: Never
Der Auftrag oben beschrieben scheint job1
und job2
parallel laufen zu lassen. Gibt es eine gute Möglichkeit, job1
und job2
in der schriftlichen Reihenfolge auszuführen?
angehängt.
Ich habe vor kurzem https://github.com/argoproj/argo sehr gut für meinen Anwendungsfall gefunden.
Pods können "Init-Container" haben, die vor dem Start des Hauptcontainers ausgeführt werden. Aber ich weiß nicht, ob das auch für Jobs funktioniert. Wenn dies der Fall ist, könnte job1 als init-Container und job2 als Hauptcontainer ausgeführt werden. Siehe http://kubernetes.io/docs/user-guide/production-pods/#handling-initialization –
Ich habe es noch nicht ausprobiert, aber es scheint eine gute Alternative zu sein. Danke @MarcSluiter –
Init-Container funktioniert auch für Jobs – baloo