5.5 Job控制器

与Deployment及DaemonSet控制器管理的守护进程类的服务应用不同的是,Job控制器用于调配Pod对象运行一次性任务,容器中的进程在正常运行结束后不会对其进行重启,而是将Pod对象置于“Completed”(完成)状态。若容器中的进程因错误而终止,则需要依据配置确定重启与否,未运行完成的Pod对象因其所在的节点故障而意外终止后会被重新调度。Job控制器的Pod对象的状态转换状态如图5-13所示。

Job管理下Pod资源的运行方式
图 1.7.5 - Job管理下Pod资源的运行方式

实践中,有的作业任务可能需要运行不止一次,用户可以配置他们以串行或并行的方式运行。总结起来,这种类型的Job控制器对象有两种,具体如下。

串行式多任务
图 1.7.5 - 串行式多任务
  • 单工作队列(work queue)的串行Job:即以多个一次性的作业方式串行执行多次作业,直至满足期望的次数,如图5-14所示;这次Job也可以理解为并行度为1的作业执行方式,在某个时刻仅存在一个Pod资源对象。

  • 多工作队列的并形式Job:这种方式可以设置工作队列数,即作业数,每个队列仅负责运行一个作业,如图 5-15a 所示;也可以用有限的工作队列运行较多的作业,即工作队列少于总作业数,相当于运行多个串行作业队列。如图5-15b所示,工作队列即为同时可运行的Pod资源数。

多队列并行式多任务
图 1.7.5 - 多队列并行式多任务

Job 控制器常用于管理那些运行一段时间便可“完成”的任务,例如计算或备份操作。

results matching ""

    No results matching ""