我有一个程序,该程序执行一些代码,睡眠10分钟,然后重复执行。这以无限循环继续。我想知道是否有办法让Kubernetes / GKE处理此调度。
我看到GKE提供了cron计划。我可以安排一个pod每10分钟运行一次。问题在于,在某些情况下,该程序可能需要超过10分钟才能完成。
理想情况下,我可以让Pod运行完成,安排其在10分钟内运行,然后重复。这可能吗?
在Kubernetes上有可能吗?
答案 0 :(得分:4)
在K8S中,有用于该目标的特定资源:CronJob
在下面的示例中,您将看到一个schedule
节,带有典型的cron表示法:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: your-cron
spec:
schedule: "*/20 8-19 * * 1-5"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: your-periodic-batch-job
spec:
containers:
- name: redmine-cron
image: your_image
imagePullPolicy: IfNotPresent
restartPolicy: OnFailure