zoukankan      html  css  js  c++  java
  • Kubernetes & job

    Kubernetes & job

    批处理任务通常并行(或者串行)启动多个计算进程去处理一批工作项(work item),在处理完成后,整个批处理任务结束。

    从1.2版本开始,Kubernetes支持批处理类型的应用,我们可以通过Kubernetes Job这种新的资源对象定义并启动一个批处理任务Job。与RCDeploymentReplicaSetDaemonSet类似,Job也控制一组Pod容器。

    从这个角度来看,Job也是一种特殊的Pod副本自动控制器,同时Job控制Pod副本与RC等控制器的工作机制有以下重要差别。

    • Job所控制的Pod副本是短暂运行的,可以将其视为一组Docker容器,其中的每个Docker容器都仅仅运行一次。当Job控制的所有Pod副本都运行结束时,对应的Job也就结束了。Job在实现方式上与RC等副本控制器不同,Job生成的Pod副本是不能自动重启的,对应Pod副本的RestartPoliy都被设置为Never。因此,当对应的Pod副本都执行完成时,相应的Job也就完成了控制使命,即Job生成的Pod在Kubernetes中是短暂存在的。Kubernetes在1.5版本之后又提供了类似crontab的定时任务——CronJob,解决了某些批处理任务需要定时反复执行的问题。

    • Job所控制的Pod副本的工作模式能够多实例并行计算,以TensorFlow框架为例,可以将一个机器学习的计算任务分布到10台机器上,在每台机器上都运行一个worker执行计算任务,这很适合通过Job生成10个Pod副本同时启动运算。

  • 相关阅读:
    如何实现数据库实体生成工具
    linux samba 与 Windows 共享文件
    CUnit 的使用
    Xml Document与 xml反序列化
    c语言多文件链接
    c 递归获取文件与目录
    gdb输入输出重定向
    C 链表实现
    Log4net多程序集使用独立的配置文件
    Sqlite 学习 编译sqlite静态库,供其他项目调用
  • 原文地址:https://www.cnblogs.com/roverliang/p/13439413.html
Copyright © 2011-2022 走看看