CronJob
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "0 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: postgres-alpine
image: xxxx
imagePullPolicy: IfNotPresent
command:
- psql
- '-h'
- 数据库服务地址
- '-d'
- 数据库
- '-f'
- sql文件
env:
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: capital-airport-backend
key: PG_PASSWORD
- name: PGUSER
valueFrom:
secretKeyRef:
name: capital-airport-backend
key: PG_USER
restartPolicy: OnFailure
时间表 0 * * * * 表示在每小时的第 0 分钟执行,也就是每小时执行一次
这里是使用的我自己常见的一个镜像,在alpine中加入了postgres,为了使用psql工具,数据库密码和账户存在了secret中,secret的name是capital-airport-backend
secret
部分secret的data内容
data:
PG_PASSWORD: xxxxx
PG_USER: xxxxx
到时时间执行时间之后,会生成一个job,job会生成一个pod来执行任务