在googlekubernetes引擎中使用索引作业



我正试图使用索引作业在多个数据上运行docker映像。

从Kubernetes 1.21开始,索引作业似乎是可用的,但我在谷歌kubernetes引擎上的工作不识别变量$JOB_COMPLETION_INDEX

我的yaml文件如下:

spec:
containers:
- args:
- --job_id="$JOB_COMPLETION_INDEX"

如果我设置job_id=0,它可以正常工作。

即使我在顶级规范中添加以下内容,

spec:
completions: 3
parallelism: 3
completionMode: Indexed

yaml文件自动删除该部分(我使用谷歌云网络控制台编辑yaml文件(。

我尝试了带有Kubernetes alpha特性的1.22.3-gke.7001.21.5-gke.1302,但都没有成功。

索引作业现在在谷歌kubernetes引擎中可用吗?

您从哪里获得args?请改用command。它看起来像这样:

apiVersion: batch/v1
kind: Job
metadata:
name: 'sample-job'
spec:
completions: 3
parallelism: 3
completionMode: Indexed
template:
spec:
restartPolicy: Never
containers:
- command:
- 'bash'
- '-c'
- 'echo "My partition: ${JOB_COMPLETION_INDEX}"'
image: 'docker.io/library/bash'
name: 'sample-load'

它来自官方文件。

或者这个例子也适用:

[...]
spec:
subdomain: my-job-svc
containers:
- name: task
image: registry.example.com/processing-image
command: ["./process",  "--index", "$JOB_COMPLETION_INDEX", "--hosts-pattern", "my-job-{{.id}}.my-job-svc"]

最新更新