k8s--使用cornJob定时执行sql文件

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来执行任务

你可能感兴趣的:(k8s与docker容器技术,kubernetes,sql)