这是一个非常基本的问题,我似乎无法找到答案,但我无法弄清楚如何在cronjob中设置concurrencyPolicy.我尝试过当前文件配置的变体:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: job-newspaper
spec:
schedule: "* */3 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: job-newspaper
image: bdsdev.azurecr.io/job-newspaper:latest
imagePullPolicy: Always
resources:
limits:
cpu: "2048m"
memory: "10G"
requests:
cpu: "512m"
memory: "2G"
command: ["spark-submit","/app/newspaper_job.py"]
restartPolicy: OnFailure
concurrencyPolicy: Forbid
Run Code Online (Sandbox Code Playgroud)
当我运行时,kubectl create -f ./job.yaml我收到以下错误:
error: error validating "./job.yaml": error validating data:
ValidationError(CronJob.spec.jobTemplate.spec.template.spec): unknown
field "concurrencyPolicy" in io.k8s.api.core.v1.PodSpec; if you choose
to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)
我可能要么把这个属性放在错误的地方或称它为错误的名称,我只是在文档中找不到它.谢谢!
该属性concurrencyPolicy是CronJob规范的一部分,而不是PodSpec.您可以在本地查看给定对象的规范kubectl explain,例如
kubectl explain --api-version="batch/v1beta1" cronjobs.spec
Run Code Online (Sandbox Code Playgroud)
在那里你可以看到CronJob对象的结构/规范,在你的情况下应该是
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: job-newspaper
spec:
schedule: "* */3 * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
containers:
- name: job-newspaper
image: bdsdev.azurecr.io/job-newspaper:latest
imagePullPolicy: Always
resources:
limits:
cpu: "2048m"
memory: "10G"
requests:
cpu: "512m"
memory: "2G"
command: ["spark-submit","/app/newspaper_job.py"]
restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |