安排pod每X分钟运行一次

时间:2018-08-14 15:43:51

标签: kubernetes google-kubernetes-engine

我有一个程序,该程序执行一些代码,睡眠10分钟,然后重复执行。这以无限循环继续。我想知道是否有办法让Kubernetes / GKE处理此调度。

我看到GKE提供了cron计划。我可以安排一个pod每10分钟运行一次。问题在于,在某些情况下,该程序可能需要超过10分钟才能完成。

理想情况下,我可以让Pod运行完成,安排其在10分钟内运行,然后重复。这可能吗?

在Kubernetes上有可能吗?

1 个答案:

答案 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