基本概念
普通任务:即kubernetes中的“Job”,普通任务是一次性运行的短任务,部署完成后即可执行。使用场景为在创建工作负载前,执行普通任务,将镜像上传至镜像仓库。
操作场景
普通任务是一次性运行的短任务,部署完成后即可执行。正常退出(exit 0)后,任务即执行完成。
普通任务是用来控制批处理型任务的资源对象。批处理业务与长期伺服业务(Deployment、Statefulset)的主要区别是:
批处理业务的运行有头有尾,而长期伺服业务在用户不停止的情况下永远运行。Job管理的Pod根据用户的设置把任务成功完成就自动退出了。成功完成的标志根据不同的spec.completions策略而不同,即:
单Pod型任务有一个Pod成功就标志完成。
定数成功型任务保证有N个任务全部成功。
工作队列型任务根据应用确认的全局成功而标志成功
前提条件
在创建任务前,您需要存在一个可用集群。若没有可用集群,请参照集群开通中内容创建。
操作步骤及说明
步骤 1 登录云容器引擎控制台。
步骤 2 单击集群名称进入集群,在左侧选择“工作负载”,选择“任务”,在右上角单击“创建任务”。
步骤 3 配置工作负载的信息。
基本信息
负载类型:选择普通任务Job。工作负载类型的介绍请参见工作负载概述。
负载名称:输入负载的名称,名称长度为1到63个字符,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
命名空间:选择工作负载的命名空间,默认为当前进入的命名空间。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。
容器配置
Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。
容器名称:为容器命名。
镜像更新策略:选择是否总是拉取镜像。
镜像名称:选择容器使用的镜像,支持多种镜像来源。
镜像版本:选择需要部署的镜像版本。
资源配额:配置 CPU 和内存的申请值和限制值。
初始化容器:选择是否作为初始化容器。
生命周期:设置容器生命周期
环境变量:设置容器运行环境的变量。
数据存储:挂载本地存储或云存储。
镜像访问凭证:选择访问镜像仓库的凭证。
高级配置
设置任务期望成功数,并行数,超时时间(秒),重试次数,设置标签与注解、网络配置等:
期望成功数:即completions,指定job需要成功运行Pods的数量。
并行数:任务负载执行过程中允许同时创建的最大实例数,并行数应不大于实例数。
超时时间(秒):当任务执行超出该时间时,任务将会被标识为执行失败,任务下的所有实例都会被删除。为空时表示不设置超时时间。
重试次数:即backoffLimit,指定job失败后进行重试的次数。默认是6次,每次失败后重试会有延迟时间,该时间是指数级增长,最长时间是6min。
重启策略:Job失败了是从不重启还是只要失败了就重启。
完成模式:非索引: 当执行成功的Pod数达到实例数时, Job执行成功. Job中每一个Pod都是同质的,他们之间是独立无关。索引: 系统会为每个Pod分配索引值,取值为 0 到实例数-1。每个分配了索引的Pod都执行成功,则Job执行成功。索引模式下,Job中的Pod命名遵循$(job-name)-$(index)模式
挂起任务:默认任务创建后被立即执行。选择挂起任务后,任务创建后处于挂起状态;将其关闭后,任务继续执行。单击右下角“创建工作负载”完成创建。