1.yaml 文件示例:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: crontab-job
spec:
  schedule: "1 5 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: crontab-job
            image: 'your-domain.com/your-project-path:version'
            args:
            - /usr/bin/php
            - /www/demo.php
          imagePullSecrets:
            - name: secret
          restartPolicy: OnFailure

2.解释

上述yaml意义:每天5点1分开出一个pod,该pod的image来源于:your-domain.com/your-project-path:version。执行命令: /usr/bin/php /www/demo.php

3.补充

(1)
文档中提到,默认只会开出一个pod执行定时任务:

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

For a Non-parallel job, you can leave both .spec.completions and .spec.parallelism unset. When both are unset, both are defaulted to 1.

(2)
.spec.schedule 的设置方式于Linux中crontab的设置一样。

Logo

开源、云原生的融合云平台

更多推荐