Kubernetes之Job与CronJob
一、Job (1)Job概述 Job负责处理短暂的一次性任务,即仅执行一次的任务,它保证批处理任务的一个或多个pod成功结束。 Kubernetes支持以下几种Job: 非并行Job: 通常创建一个Pod直到其成功结束; 固定结束次数的Job: 在spec字段下添加completions字段。创建多个Pod,直到满足completions规定的数值。如果不添加的话,默认情况下是1个; 带有工作队列的并行Job: 在spec字段下添加Parallelism字段。表示几个job同时并行工作。如果不添加的话,默认情况下是1个; 根据可以设置completions字段、Parallelism字段,可以将Job分为以下几种: (2)Job Controller Job Controller负责根据Job yaml文件中Spec字段定义的内容创建Pod,并持续监控Job的状态,直至其成功结束。如果失败,则根据restartPolicy(只支持OnFailure和Never,不支持Always)决定是否创建新的pod再次重试任务。 如图: (3)应用示例 一个简单的小示例: [root@master job]# cat job.yaml kind: Job apiVersion: batch/v1 metadata: name: test-job spec: template: metadata