其他分享
首页 > 其他分享> > 4.6 安排Job定期运行或在将来运行一次

4.6 安排Job定期运行或在将来运行一次

作者:互联网

  1. 前提条件

    0.0 环境准备
    0.1 安装docker
    0.2 安装k8s

  2. 创建一个CronJob
    1. 创建kubia-cron-job.yaml(注:此处需要指定jobTemplate,kind为CronJob,此处配置每分钟执行一次,最小单位是分钟)
    apiVersion: batch/v1beta1
    kind: CronJob
    metadata:
      name: kubia-cron-job
    spec:
      schedule: "*/1 * * * *"
      jobTemplate:
        spec:
          template:
            metadata:
              labels:
                app: cron-job
            spec:
              activeDeadlineSeconds: 6
              restartPolicy: OnFailure
              containers:
              - name: main
                image: nuptaxin/kubia-job
    
    1. 启动job
      kubectl create -f kubia-cron-job.yaml
    2. 查看job运行状况
      kubectl get cronjob
    3. 配置时间表安排
      1. 最小单位是分钟
      2. 包含的条目
        1. 分钟
        2. 小时
        3. 每月中的第几天
        4. 星期几
    4. 配置Job模板
  3. 了解计划任务的运行方式
    1. 配置任务开始时间不能落后于预定时间过多
      1. spec.startingDeadlineSeconds
    2. CronJob有可能会同时创建两个Job或者根本没有创建。
      1. 针对问题1:你的job应该是幂等的
      2. 针对问题2:下一个任务运行完成应该由上一次的运行完成的任何工作
  4. 资源清理
    kubectl delete cronjob kubia-cron-job

标签:CronJob,4.6,job,spec,cron,Job,kubia,运行
来源: https://blog.csdn.net/nuptaxin/article/details/120872848