阿里云容器服务Kubernetes集群支持通过界面创建Job类型的应用。本例中将创建一个Job类型的busybox应用,并演示任务(Job)应用的特性。
前提条件
您已成功创建一个Kubernetes集群。参见创建Kubernetes专有版集群。背景信息
Job负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。
Kubernetes支持以下几种Job:
- 非并行Job:通常创建一个Pod直至其成功结束。
- 固定结束次数的Job:设置
.spec.completions
,创建多个Pod,直到.spec.completions
个Pod成功结束。 - 带有工作队列的并行Job:设置
.spec.Parallelism
但不设置.spec.completions
,当所有Pod结束并且至少一个成功时,Job就认为是成功。 - 固定结束次数的并行Job:同时设置
.spec.completions
和.spec.Parallelism
,多个Pod同时处理工作队列。
根据
.spec.completions
和.spec.Parallelism
的设置,可以将Job划分为以下几种模式:说明 本例中创建的任务属于固定结束次数的并行Job。
Job类型 | 使用示例 | 行为 | Completions | Parallelism |
---|---|---|---|---|
一次性Job | 数据库迁移 | 创建一个Pod直至其成功结束 | 1 | 1 |
固定结束次数的Job | 处理工作队列的Pod | 依次创建一个Pod运行直至Completions个成功结束 | 2+ | 1 |
固定结束次数的并行Job | 多个Pod同时处理工作队列 | 依次创建多个Pod运行直至Completions个成功结束 | 2+ | 2+ |
并行Job | 多个Pod同时处理工作队列 | 创建一个或多个Pod直至有一个成功结束 | 1 | 2+ |
操作步骤
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在任务页面,单击使用镜像创建。
- 应用名称:设置应用的名称。
- 类型:设置类型为任务。说明 本例中选择任务类型,即Job。
- 标签:为该应用添加一个标签,标识该应用。
- 注解:为该应用添加一个注解(Annotation)。
- 时区同步:容器与节点是否使用相同的时区。
- 设置容器配置。说明 您可为应用的Pod设置多个容器。
- 完成容器配置后,单击下一步。
- 进行高级设置。
您可进行任务配置。
参数 说明 成功运行的Pod数 即completions,指定job需要成功运行Pods的数量。默认值为1 并行运行的Pod数 即parallelism,指定job在任一时刻应该并发运行Pod的数量。默认值为1 超时时间 即activeDeadlineSeconds,指定job可运行的时间期限,超过时间还未结束,系统将会尝试进行终止。 重试次数 Pod执行失败后,尝试重建Pod的次数。默认是6次,每次失败后重试会有延迟时间,该时间是指数级增长,最长时间是6min。 重启策略 仅支持不重启(Never)和失败时(OnFailure) - 最后单击创建。
- 创建成功后,默认进入创建完成页面,会列出应用包含的对象。
您可以单击查看应用详情,进入任务详情页面。
创建过程中,您可在状态栏中查看容器组的创建情况。本例中按照任务定义,一次性并行创建2个Pod。
等待一段时间,所有容器组创建完毕。
- 单击左上角返回列表,进入任务列表页面中,您可看到,该任务已显示完成时间。说明 若任务未创建完毕所有容器组,任务不会显示完成时间。
相关操作
在左侧导航栏单击集群,单击目标集群名称或目标集群操作列下的详情,选择工作负载,单击任务页签,单击目标应用名称或目标应用操作列下的详情,在应用详情页面您可以伸缩、查看Yaml、刷新应用。
- 伸缩:在应用详情页面单击伸缩,您可以修改所需容器组数量。
- 查看Yaml:在应用详情页面单击查看Yaml,您可以更新、下载、另存为Yaml文件。
- 刷新:在应用详情页面单击刷新,您可以刷新应用。