我必须在Kubernetes中部署 Cronjob ,这将每15分钟创建一个Job Pod。作业将检查服务是否准备好提供新数据。准备好此服务后,该作业将需要1个多小时才能完成其执行。问题围绕这样一个事实,即将在此期间执行其他作业。
简而言之,当已有作业正在运行时,如何防止在 Kubernetes Cronjobs 中执行作业?
答案 0 :(得分:2)
CronJob资源具有一个名为concurrencyPolicy
的属性,下面是一个示例:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: your-cron
spec:
schedule: "*/40 8-18 * * 1-6"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: your-periodic-job
spec:
containers:
- name: your_container
image: your_image
imagePullPolicy: IfNotPresent
restartPolicy: OnFailure