Docker(三十一)k8s cronjob 计划任务使用

基本原理其实就是,k8s 会单独启动一个pod 来专门跑任务,等任务跑完后,就把这个pod 删除

上yaml

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: delesindexjob
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: delesindexjob
            image: centos
            args:
            - /bin/sh
            - -c
            - curl -X DELETE  "ip:9200/zipkin-qa:span-`date +%F -d "-7 days"`"
          restartPolicy: OnFailure
          imagePullSecrets:
          - name: qcloudregistrykey
          - name: tencenthubkey

es 数据库需要定期删除,所以我就只保留了7天的,然后调用相关接口进行删除,这里是每分钟执行一次,其实可以一天执行一次就可以

这里有两个坑,

1,之前用的alpine 但是发现用了curl 命令时候并不是很好穿参数,导致任务执行失败

2,拉取镜像认证,因为是用的腾讯云,但是之前抄的官方文档,始终都是拉取失败,后来加上secrests 后就好了


猜你喜欢

转载自blog.51cto.com/wks97/2311346
今日推荐