k8s工作负载控制器之job与CronJob

目录

Job与CronJob

job

CronJob


Job与CronJob

 

Job分为普通任务(Job)和定时任务(CronJob)
一次性执行,一般用作离线数据处理和视频解码等,或者数据库数据备份等

job

示例:计算一个圆周率
这里配置了never的重启规则,是job常用的规则,即失败后不重启,因为是一次性任务。 但job执行完后k8s不会主动去删除那个pod容器,方便查看执行结果
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        restartPolicy: Never
容器正在运行
k8s工作负载控制器之job与CronJob_第1张图片
查看job,任务已经结束
kubectl get job

kubectl logs pi-h4rkp
可以看到任务已经执行结束,圆周率打印完成

CronJob

CronJob也是一个任务容器,与job不同的是他是个定时任务容器,,类似于linux的Crontab一样
应用场景:通知、备份
示例
schedule分别对应分、时、日、月、周。。重启策略为异常退出则重启
vi CronJob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello afei
          restartPolicy: OnFailure
执行yaml文件后
kubectl apply -f CronJob.yaml
查看定时任务
kubectl get cronjob

你可能感兴趣的:(k8s之负载控制器,kubernetes,运维开发,容器,运维)