本节介绍如何创建 Volcano 作业。

前提条件

  • KubeSphere 平台需要安装并启用 Volcano 扩展组件。

  • 您需要加入一个项目并在项目中具有 project-admin 权限。有关更多信息,请参阅项目成员项目角色

操作步骤

  1. 以具有 project-admin 权限的用户登录 KubeSphere Web 控制台并进入您的企业空间。

  2. 在左侧导航栏选择 Volcano 调度 > Volcano 作业

  3. 在页面左上角的下拉列表中选择一个项目。

  4. 在页面点击创建

  5. 基本信息页签,设置 Volcano 作业的基本信息,然后点击下一步

  6. 作业设置页签,设置调度策略、存储设置等,然后点击下一步

  7. 任务设置页签,为 Volcano 作业管理的任务设置副本数量、容器、资源需求和调度策略,然后点击下一步

  8. 存储设置页签,为 Volcano 作业挂载卷,然后点击下一步

  9. 高级设置页签,为 Volcano 作业指定节点,设置元数据,然后点击创建

请参阅参数描述设置 Volcano 作业的参数。

参数描述

  • 基本信息

    设置 Volcano 作业的基本信息。

    参数 描述

    名称

    Volcano 作业的名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 40 个字符。

    别名

    Volcano 作业的别名。不同 Volcano 作业的别名可以相同。

    描述

    Volcano 作业的描述信息。描述可包含任意字符,最长 256 个字符。

  • 作业设置 > 基础设置

    参数 描述

    调度器

    该作业的容器组所使用的调度器,可选择 Volcano 或 Kubernetes 默认调度器。

    Volcano 调度器更适用于高性能计算场景,如机器学习、大数据应用和科学计算。

    队列

    作业所属的队列,决定了其有资格使用的资源范围。

    若未指定队列,默认使用 default 队列。

    最少容器组数量

    定义了 Volcano 作业进入正常运行状态所需达到的最低要求。只有当作业中处于运行状态的容器组数量不小于最少容器组数量时,该作业才被视为运行正常。

    最大重试次数

    超过最大重试次数后,作业将标记为失败。

    优先级

    作业优先级:高、中、低。更高优先级的作业将会优先分配/抢占资源。

  • 作业设置 > 生命周期策略

    配置 Volcano 作业的自动处理策略。

    还可以在“任务设置”页签为任务(Task)单独配置策略以覆盖 Volcano 作业的默认策略。

    参数 描述

    事件

    • PodPending:Pod 正在等待创建。

    • PodRunning:Pod 正在运行。

    • PodFailed:Pod 运行失败。

    • PodEvicted:Pod 被驱逐。

    • Unknown:Pod 状态未知。

    • TaskCompleted:Task 中已成功完成的 Pod 数量达到了该 Task 预设的完成要求。

    动作

    • RestartJob:重启整个作业。

    • RestartTask:重启 Task。

    • RestartPod:重启 Pod。

    • AbortJob:暂停该作业,不会清理已创建的 Pod 资源。

    • TerminateJob:终止作业运行,并清理删除所有相关的 Pod。

    • CompleteJob:强制将作业状态标记为“已完成”,来结束整个作业。

    • ResumeJob:恢复被暂停的作业。

    • 点击添加可设置多个生命周期策略。

    • 在已创建的生命周期策略右侧点击trash-light可删除策略。

  • 作业设置 > 存储设置

    为 Volcano 作业挂载卷,选择已有持久卷或新建一个持久卷。

  • 作业设置 > 存储设置 > 指定已有持久卷

    参数 描述

    选择持久卷声明

    点击选择一个已有的持久卷。

    挂载路径

    卷挂载到容器上的路径。

  • 作业设置 > 存储设置 > 新建持久卷

    参数 描述

    存储类

    用于创建持久卷声明的存储类。

    访问模式

    持久卷的读写模式。

    RWO(ReadWriteOnce):允许单个节点读取持久卷中的数据并向其中写入数据。

    卷容量

    持久卷的容量。

    挂载方式

    卷在容器上的挂载方式。

  • 任务设置 > 添加任务

    • 为 Volcano 作业新增一个任务(Task),可单独设置副本数、容器镜像、资源需求和调度策略。

    • 将鼠标悬停在已创建的任务上,然后在右侧点击pen-light可编辑任务的设置。

    • 将鼠标悬停在已创建的任务上,然后在右侧点击trash-light可删除任务。

  • 任务设置 > 添加任务 > 任务设置

    参数 描述

    任务名称

    任务的名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 15 个字符。

    容器组副本数量

    设置该任务的容器组副本数。

    高级设置

    为任务单独配置的生命周期策略,比上一步配置的 Volcano 作业的生命周期策略具有更高优先级。

  • 任务设置 > 添加任务 > 重启策略

    参数 描述

    重启策略

    容器组中的容器异常退出时,系统采取的策略:重新创建容器组、或重启容器。

  • 任务设置 > 添加任务 > 容器

    有关添加容器的更多信息,请参阅创建工作负载

  • 存储设置

    选择一个任务,为其创建的容器挂载卷、配置字典或保密字典。

    参数 描述

    挂载卷

    为容器挂载持久卷、临时卷或 HostPath 卷。

    挂载配置字典或保密字典

    将配置字典或保密字典中的数据作为卷挂载到容器。

  • 存储设置 > 挂载卷 > 持久卷

    为容器挂载持久卷。用于创建持久卷的持久卷声明必须属于容器所在的项目。

    参数 描述

    选择持久卷声明

    选择用于创建持久卷的持久卷声明。该持久卷声明必须属于容器所在项目。如果容器所在的项目中没有可用的持久卷声明,您需要提前创建一个持久卷声明。

    挂载方式

    卷在容器上的挂载方式。

    • 读写:允许容器读取卷中的数据并向其中写入数据。

    • 只读:只允许容器读取卷中的数据。

    • 不挂载:卷不挂载到容器上。

    挂载路径

    卷挂载到容器上的路径。点击textfield可设置需要挂载的卷子路径。如果不设置子路径则默认挂载整个卷。

  • 存储设置 > 挂载卷 > 临时卷

    为容器挂载临时卷。临时卷具有以下特点:

    • 由系统自动在容器组所在的节点的存储系统中创建。

    • 由系统自动管理,容量上限为节点的存储容量。

    • 无法保存持久化数据,容器组创建时由系统自动创建临时卷,容器组删除时由系统自动删除临时卷。

    参数 描述

    卷名称

    临时卷的名称。

    容量上限

    当前卷的容量上限。

    挂载方式

    卷在容器上的挂载方式。

    • 读写:允许容器读取卷中的数据并向其中写入数据。

    • 只读:只允许容器读取卷中的数据。

    • 不挂载:卷不挂载到容器上。

    挂载路径

    卷挂载到容器上的路径。点击textfield可设置需要挂载的卷子路径。如果不设置子路径则默认挂载整个卷。

  • 存储设置 > 挂载卷 > HostPath 卷

    将容器组所在的节点上的文件或目录挂载到容器上。

    • 不同节点上相同路径的文件或文件夹可能不同,因此不同节点上的容器组副本可能会从 HostPath 卷中读取到不同的数据。

    • 您需要确保被挂载的路径在容器组所在的节点上存在,并且容器组进程具有所需的权限,否则容器组进程将无法从 HostPath 卷上读取数据或向其中写入数据。

    参数 描述

    卷名称

    HostPath 卷的名称。

    主机路径

    节点上需要挂载的文件或文件夹的路径。

    挂载方式

    卷在容器上的挂载方式。

    • 读写:允许容器读取卷中的数据并向其中写入数据。

    • 只读:只允许容器读取卷中的数据。

    • 不挂载:卷不挂载到容器上。

    挂载路径

    卷挂载到容器上的路径。点击textfield可设置需要挂载的卷子路径。如果不设置子路径则默认挂载整个卷。

  • 存储设置 > 挂载配置字典或保密字典

    将配置字典或保密字典中的数据作为卷挂载到容器。

    参数 描述

    选择配置字典/选择保密字典

    选择当前项目中的配置字典或保密字典。

    挂载方式

    设置配置字典或保密字典中的数据在容器上的挂载方式。配置字典和保密字典只支持以只读方式挂载或不挂载

    挂载路径

    设置配置字典或保密字典中的数据挂载到容器上的路径。

    • 系统将根据配置字典或保密字典中的数据生成一个文件夹,并将其中的每个键值对映射为一个文件,每个文件以键为文件名,值为文件的内容。

    • 点击textfield可指定配置字典或保密字典中的键值对作为文件挂载,如不设置子路径则默认挂载整个配置字典或保密字典。如果使用子路径,挂载到容器中的文件不会随配置字典或保密字典动态更新。

    选择特定键

    将配置字典或保密字典中的键值对作为文件挂载到容器中,挂载到容器中的文件会随配置字典或保密字典动态更新。点击添加可挂载多个键值对。

    • :配置字典或保密字典中的需要挂载的键值对的键名称。

    • 路径:容器中相对于挂载路径的路径。配置字典或保密字典中的指定键值对将挂载到该路径下,挂载路径中原有的文件将被覆盖。

  • 高级设置

    为 Volcano 作业管理的容器组指定节点,并设置 Volcano 作业的元数据。

    参数 描述

    选择节点

    将容器组副本调度到具有指定标签的节点上。

    • 您可以手动输入目标节点的标签键值对,也可以点击指定节点选择一个节点。

    • 点击添加节点选择器可设置多个标签,容器组副本将被调度到具有所有指定标签的节点上。

    • 在已创建的标签右侧点击trash-light可删除标签。

    添加元数据

    设置 Volcano 作业的标签和注解。

    • 点击添加可设置多条标签或注解。

    • 在已创建的标签或注解右侧点击trash-light可删除标签或注解。