云容器引擎 CCE-创建普通任务(Job):使用kubectl创建Job

时间:2023-11-01 16:25:54

使用kubectl创建Job

Job的配置参数如下所示。

  • spec.template格式与Pod相同。
  • RestartPolicy仅支持Never或OnFailure。
  • 单个Pod时,默认Pod成功运行后Job即结束。
  • .spec.completions表示Job结束需要成功运行的Pod个数,默认为1。
  • .spec.parallelism表示并行运行的Pod的个数,默认为1。
  • spec.backoffLimit表示失败Pod的重试最大次数,超过这个次数不会继续重试。
  • .spec.activeDeadlineSeconds表示Pod运行时间,一旦达到这个时间,Job即其所有的Pod都会停止。且activeDeadlineSeconds优先级高于backoffLimit,即到达activeDeadlineSeconds的Job会忽略backoffLimit的设置。

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

表4 任务类型

Job类型

说明

使用示例

一次性Job

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

数据库迁移

固定结束次数的Job

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

处理工作队列的Pod

固定结束次数的并行Job

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

多个Pod同时处理工作队列

并行Job

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

多个Pod同时处理工作队列

以下是一个Job配置示例,保存在myjob.yaml中,其计算π到2000位并打印输出。

apiVersion: batch/v1kind: Jobmetadata:  name: myjobspec:  completions: 50        # Job结束需要运行50个Pod,这个示例中就是打印π 50次  parallelism: 5        # 并行5个Pod  backoffLimit: 5        # 最多重试5次  template:    spec:      containers:      - name: pi        image: perl        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]      restartPolicy: Never

说明:

  • apiVersion: batch/v1 是当前job的Version
  • kind: Job:指定当前资源的类型时Job
  • restartPolicy: Never:是指当前的重启策略。对于Job,只能设置为Never或者OnFailure。对于其他controller(比如Deployment)可以设置为Always。

运行该任务,如下:

  1. 启动这个job。

    [root@k8s-master k8s]# kubectl apply -f myjob.yamljob.batch/myjob created

  2. 查看这个job。

    kubectl get job

    [root@k8s-master k8s]# kubectl get jobNAME    COMPLETIONS   DURATION   AGEmyjob   50/50         23s        3m45s

    completions为 50/50 表示成功运行了这个job。

  3. 查看pod的状态。

    kubectl get pod

    [root@k8s-master k8s]# kubectl get podNAME          READY   STATUS      RESTARTS   AGEmyjob-29qlw   0/1     Completed   0          4m5s...

    状态为Completed表示这个job已经运行完成。

  4. 查看这个pod的日志。

    kubectl logs

    # kubectl logs myjob-29qlw3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275901

support.huaweicloud.com/usermanual-cce/cce_01_0150.html