Kubernetes工作负载资源之Job、CronJob

这里将介绍Kubernetes工作负载资源中的Job、CronJob

Kubernetes工作负载资源之Job、CronJob

abstract.png

Job

对于RC、RS、DS等类型的资源,其会持续运行Pod永远不会达到完成状态,其Pod会在进程退出后重新启动。为此K8s提供一种Job类型的工作负载资源,以实现完成任务后就终止。具体地,Job会创建一个或多个Pod。Job跟踪记录成功完成的Pod个数,当数量达到指定的成功个数阈值时,Job即会结束。当Pod执行失败或所在节点发生故障时,Job会创建、启动新的Pod继续执行任务。此外Job还支持以并行的方式运行多个Pod

# API组、版本
apiVersion: batch/v1
# 资源类型
kind: Job
metadata:
  # Job名称
  name: my-convert-data-job-1
spec:
  # 该Job需要执行5次, 每次执行该Job都需要创建一个Pod
  completions: 5
  # 该Job并行执行的最大Pod数
  parallelism: 2
  # Pod 模板
  template:
    metadata:
      # 标签信息
      labels:
        app: convert-data
    spec:
      # 重启策略: 失败时
      restartPolicy: OnFailure
      # 容器信息
      containers:
        - name: my-convert-data-1
          image: luksa/batch-job

效果如下所示

Kubernetes工作负载资源之Job、CronJob

figure 1.jpeg

CronJob

Job资源在被创建后会立即创建Pod来运行任务。而很多时候一些任务需要在特定时间内执行或按一定频率重复执行。例如备份、生成报告等。为此K8s中提供了CronJob资源来执行对周期性任务的执行。具体地,我们通过Cron表达式设置任务的执行周期。然后CronJob根据其计划编排,在每次该执行任务的时候会先创建Job资源。然后Job资源再根据Pod模板创建相应的Pod来执行任务

┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 月的某天 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 周的某天 (0 - 6)(周日到周一;在某些系统上,7 也是星期日)
│ │ │ │ │                          或者是 sun,mon,tue,web,thu,fri,sat
│ │ │ │ │
│ │ │ │ │
* * * * *

配置文件如下所示

# API组、版本
apiVersion: batch/v1
# 资源类型
kind: CronJob
metadata:
  # Job名称
  name: my-convert-data-job-2
spec:
  # Cron 表达式: 每天每小时的0、15、30、45分钟调度执行
  schedule: "0,15,30,45 * * * *"
  # Job 模板
  jobTemplate:
    spec:
      # Pod 模板
      template:
        metadata:
          # 标签信息
          labels:
            app: convert-data-2
        spec:
          # 重启策略: 失败时
          restartPolicy: OnFailure
          # 容器信息
          containers:
            - name: my-convert-data-2
              image: luksa/batch-job

效果如下所示

Kubernetes工作负载资源之Job、CronJob

figure 2.jpeg

参考文献

  1. Kubernetes in Action中文版 Marko Luksa著
  2. 深入剖析Kubernetes 张磊著

原文始发于微信公众号(青灯抽丝):Kubernetes工作负载资源之Job、CronJob

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/42019.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!