JJob主要用于运行短暂的、一次性的批量任务(short-lived one-off tasks),确保批处理任务的一个或多个Pod成功执行。ACS集群支持通过控制台创建任务类型的应用,本文介绍如何创建一个Job类型工作负载。
背景信息
根据.spec.completions
(需要成功完成的Pod数,默认为1)和.spec.parallelism
(Job可以并行运行的最大副本数,默认为1)的配置,可以将Job划分为以下几种类型:
Job类型 | completions | parallelism | 使用示例 | 行为 |
一次性Job | 1 | 1 | 数据库迁移 | 运行一个Pod直至其成功完成。 |
固定结束次数的Job | 2+ | 1 | 处理工作队列的Pod | Pod依次运行,直至成功完成的Pod数达到 |
带有工作队列的并行Job | 1 | 2+ | 多个Pod同时处理工作队列,不要求成功数 | 多个Pod并行运行,直至有一个Pod成功完成。 |
固定结束次数的并行Job | 2+ | 2+ | 多个Pod同时处理工作队列,要求成功数 | 多个Pod并行运行,直至成功完成的Pod数达到 |
操作步骤
步骤一:配置应用基本信息
登录容器计算服务控制台,在左侧导航栏选择集群。
在集群页面,单击目标集群ID或者目标集群右侧操作列下的详情。
在集群管理页左侧导航栏,选择
。在任务页面,单击使用镜像创建。
在应用基本信息配置向导页面,配置应用的基本信息。
配置项
描述
应用名称
输入应用的名称。
类型
设置类型为任务(Job)。
标签
为该应用添加一个标签,标识该应用。
注解
为该应用添加一个注解(Annotation)。
实例类型
请选择实例类型。
QoS类型
选择QoS类型。更多信息,请参见算力质量定义。
通用型实例支持default和best-effort。
性能型实例仅支持default。
完成基本信息配置后,单击下一步。
步骤二:配置容器
在容器配置向导页面,设置容器配置。
说明在容器1页签右侧,单击添加容器可以为应用的Pod设置多个容器。
设置容器的基本配置。
配置项
描述
镜像名称
选择镜像
您可以单击选择镜像,选择所需的镜像。
容器镜像服务企业版:可以选择托管在容器镜像服务ACR中的企业版镜像。需要选择镜像所属地域,以及镜像服务实例。关于ACR的更多信息,请参见什么是容器镜像服务ACR。
容器镜像服务个人版(需要提前开通):可以选择托管在容器镜像服务ACR中的个人版镜像。需要选择镜像所属地域,以及镜像服务实例。
制品中心:包含应用容器化基础OS镜像、基础语言镜像、AI/大数据相关镜像,本示例以制品中心的Nginx镜像为例说明。关于制品中心的更多信息,请参见制品中心。
镜像拉取策略
ACS只支持总是拉取镜像(Always),即每次部署或扩容都会从容器镜像服务重新拉取镜像,不会从本地拉取镜像。
设置镜像密钥
您可以单击设置镜像密钥,为私有镜像设置密钥以确保安全。
所需资源
为容器设置资源额度。
容器启动项
(可选)设置容器启动项。
stdin:将控制台输入发送到容器。
tty:将标准输入控制台作为容器的控制台输入。
说明通常会同时选中stdin和tty,表示将终端(tty)绑定到容器的标准输入(stdin)上。例如,一个交互式的程序从用户获取标准输入,并显示到终端中。
初始化容器
(可选)选择该选项,表示创建一个初始化容器。
初始化容器提供了一种机制来阻塞或延迟应用容器的启动,初始化容器执行成功后,Pod内的应用容器会并行启动。例如,检测依赖服务的可用性。初始化容器可以包括一些应用镜像中不存在的实用工具和安装脚本,用来初始化应用容器的运行环境,例如设置内核参数、生成配置文件。更多信息,请参见Init Container。
(可选)在端口设置区域,单击新增设置容器的端口。
(可选)在环境变量区域,单击新增设置环境变量。
支持通过键值对的形式为Pod配置环境变量。用于给Pod添加环境标志或传递配置等,更多信息,请参见Pod variable。
(可选)在生命周期区域,设置容器的生命周期。
您可以为容器的生命周期配置启动执行、启动后处理和停止前处理。具体参见配置生命周期。
启动执行:为容器设置预启动命令和参数。
启动后处理:为容器设置启动后的命令。
停止前处理:为容器设置预结束命令。
(可选)在数据卷区域,为容器挂载数据卷。
支持配置本地存储和云存储。
完成容器配置后,单击下一步。
步骤三:完成高级配置
在任务设置区域,设置任务。
参数
说明
成功运行的Pod数
即completions,指定Job需要成功运行的Pod数量。默认值为1。
并行运行的Pod数
即parallelism,指定Job在任一时刻可以并发运行的Pod数量。默认值为1。
超时时间
即activeDeadlineSeconds,指定Job可运行的时间期限,超过时间还未结束,系统将会尝试进行终止。
重试次数
Pod运行失败后,尝试重建Pod的次数。默认是6次,每次失败后重试会有延迟时间,该时间是指数级增长,最长时间是6 min。
重启策略
仅支持不重启(Never)和失败时(OnFailure)。
(可选)在标签和注释区域,单击添加设置容器组的标签和注释。
单击创建。
创建成功后,默认进入创建完成页面,会列出应用包含的对象。您可以在任务页面查看该任务的信息。
相关操作
在任务页面,单击目标应用名称或目标应用操作列下的详情,在应用详情页面您可以伸缩、查看YAML。
伸缩:在应用详情页面单击伸缩,您可以修改所需容器组数量。
查看YAML:在应用详情页面单击查看YAML。