云容器引擎 CCE-普通任务(Job)和定时任务(CronJob):创建Job

时间:2024-09-19 08:16:05

创建Job

以下是一个Job配置,其计算π到2000位并打印输出。Job结束需要运行50个Pod,这个示例中就是打印π 50次,并行运行5个Pod,Pod如果失败最多重试5次。
apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-timeout
spec:
  completions: 50            # 运行的次数,即Job结束需要成功运行的Pod个数
  parallelism: 5             # 并行运行Pod的数量,默认为1
  backoffLimit: 5            # 表示失败Pod的重试最大次数,超过这个次数不会继续重试。
  activeDeadlineSeconds: 100  # 表示Pod超期时间,一旦达到这个时间,Job及其所有的Pod都会停止。
  template:                  # Pod定义
    spec: 
      containers:
      - name: pi
        image: perl
        command:
        - perl
        - "-Mbignum=bpi"
        - "-wle"
        - print bpi(2000)
      restartPolicy: Never

根据completions和parallelism的设置,可以将Job划分为以下几种类型。

表1 任务类型

Job类型

说明

使用示例

一次性Job

创建一个Pod直至其成功结束

数据库迁移

固定结束次数的Job

依次创建一个Pod运行直至completions个成功结束

处理工作队列的Pod

固定结束次数的并行Job

依次创建多个Pod运行直至completions个成功结束

多个Pod同时处理工作队列

并行Job

创建一个或多个Pod直至有一个成功结束

多个Pod同时处理工作队列

support.huaweicloud.com/basics-cce/kubernetes_0016.html