在很多场景下我们需要都需要定时任务来处理一些事情,比如说报表的生成。还有定期抓取一些数据,股票数据之类的。 在Kubernetes下面我们可以使用 CornJob来处理这种事情。
apiVersion: batch/v1
kind: CronJob
metadata:
labels:
app: bond
name: bond
namespace: malema
spec:
schedule: "0 19,21 * * *" # https://crontab.guru/#*/5_*_*_*_*
jobTemplate:
spec:
template:
spec:
containers:
- env:
- name: dsn
value: xxvalue
name: bond
image: xxx/bond:6
imagePullPolicy: IfNotPresent
imagePullSecrets:
- name: registrykeymalema # 这个你要事先创建好。
restartPolicy: OnFailure
schedule 放的是cron表达式 分 时 日 月 日(星期) ,表示这两个都要 19,21表示 19时和21时都要跑。 这样在时间到了之后这个cronjob就会启动job 然后 job 会启动一个pod出来。
可以用下面的这行命令行来跑
kubectl create job abc --from=cronjob/bond