You need to enable JavaScript to run this app.
导航
队列
最近更新时间:2024.04.16 15:12:50首次发布时间:2023.09.25 16:49:02

队列是批量计算套件中的核心概念,批量计算任务将提交至队列进行排队执行。队列用来管理批量计算任务的执行策略,包括任务的排队策略、抢占策略、资源分配等。本文主要描述队列的创建、查看、更新、删除等管理方法。

说明

该功能目前处于 公测 阶段。

前提条件

  • 已安装批量计算套件的 batch-queue-controller 和 batch-node-controller 组件。详细操作,请参见 安装组件
  • 若需要将队列加入到队列组,请确保已创建队列组。详细操作,请参见 创建队列组

创建队列

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面单击 创建队列
  5. 根据系统提示,配置队列参数。
    • ①基本配置
      配置项说明
      基本信息
      名称根据系统提示的命名规则,设置队列名称。同一个集群内,队列名称须唯一。
      队列组选择队列所属的队列组,可以为空。队列组内的队列之间可以相互借用资源配额。

      任务排队策略

      队列中任务执行的排队策略:

      • StrictFifo:(默认值)提交至队列的任务严格按照创建时间排序。如果前序提交的任务无法执行,则后序任务即使满足配额需求,也无法执行。
      • BestEffortFifo:提交至队列的任务按照创建时间排序,但如果前序提交的任务无法执行,则可以先执行满足配额需求的后序任务。

      任务抢占策略

      是否开启队列中任务的配额抢占策略。若开启,则需要配置以下参数:

      • 队列内抢占策略:当前队列内部任务的资源配额抢占策略。取值如下:
        • 不抢占:(默认值)表示当任务无法获取资源进行调度时,可以发起抢占,但不允许抢占相同队列内其他任务的资源。
        • 优先级抢占:表示当任务无法获取资源进行调度时,可以发起抢占,可以抢占相同队列内其他低优先级任务的资源。
      • 队列组内抢占策略:当前队列在所属队列组内与其他队列的资源配额抢占策略。仅当队列属于某个队列组时生效,取值如下:
        • 不抢占:(默认值)表示当前队列的任务,不会抢占所属队列组内其他队列中正在运行的任务资源。
        • 优先级抢占:表示当前队列的任务,能够抢占位所属队列组内其他队列中低优先级任务的资源。
        • 任意抢占:表示当前队列的任务,能够随意抢占所属队列组内其他队列中任务的资源。

      更多任务抢占策略相关介绍,请参见 队列任务资源配额抢占策略说明

      命名空间选择

      队列的命名空间(Namespace)选择器,可以通过 标签(Label)限制当前队列可以处理的任务的所属 Namespace。
      根据系统提示的规则,输入标签 (例如namespace)和 (例如default)。单击 添加标签,可添加更多标签。

      镜像缓存配置

      预加载镜像缓存

      开启后队列中的任务支持预加载镜像缓存能力,提升任务启动速度。详细的功能介绍,请参见 预加载镜像缓存

      注意

      • 当前配置仅当队列中的任务在弹性容器实例(VCI)中运行时生效。
      • 该功能需要获取目标镜像仓库的访问权限,您还需要为套件配置相关镜像仓库的访问凭证。详细操作,请参见 预加载镜像缓存配置
    • ②资源配置
      配置项说明
      资源组配置
      资源类型选择当前队列提供的资源类型,包括 CPU 资源、Memory(内存)资源、GPU 资源、Pod 资源。支持多选。

      资源规格

      所选资源类型的规格。

      • 规格:批量计算为队列提供的计算规格,有如下几种规格:
        • Default:不区分云服务器(ECS)或弹性容器实例(VCI)资源类型的默认规格。
        • VCI CPU 默认型:VCI 的 通用型 实例规格,默认规格为vci.u1。VCI 实例规格介绍,请参见 通用型
      • CPU/Memory/GPU/Pod 配额:设置所选资源类型的配额,包括如下两种配额:
        • 队列内可用配额:当前队列内可用的资源配额。
        • 队列组间可借用配额:当前队列所在的队列组内,队列之间可以相互借用的资源配额。仅当队列位于某一个队列组内时才会生效。
          可以不限制队列组间可借用配额,即当前队列可以在队列组内借用任意资源配额。
  6. 单击 确定,创建队列。

查看队列信息

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,查看本集群下所有队列的基本信息,以及每个队列管理的任务执行状态。
  5. 单击队列名称进入 队列详情 页,可查看队列的详细信息(包括基本信息、队列内任务执行统计、资源配额及用量),以及队列下的任务列表。
    alt

更新队列

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到需要更新配置的队列,单击对应 操作 列下的 更新
  5. 根据系统提示的可更新参数,更新队列配置。详细的参数说明,请参见本文上方 创建队列

删除队列

注意

仅当队列中全部任务执行完成之后,当前队列才会被删除。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到需要删除的队列,在对应 操作 列下选择 ... > 删除
  5. 在系统弹出的二次确认对话框中确认信息,单击 删除,删除该队列。

暂停队列

暂停队列是指不允许新的任务加入到队列中并运行。暂停队列后队列中正在运行的任务不受影响。

注意

使用暂停队列的能力前,请确保 batch-queue-controller 组件已升级到 v1.3.1 及以上版本。详细操作,请参见 升级组件

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到需要暂停的队列,在对应 操作 列下选择 ... > 暂停
  5. 在系统弹出的二次确认对话框中确认信息,单击 确定,暂停该队列,禁止新任务加入到该队列。

恢复队列

当队列处于 暂停 状态时,可以对队列进行 恢复 操作。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到带有 暂停 标识的队列,在对应 操作 列下选择 ... > 恢复
    alt
  5. 在系统弹出的二次确认对话框中确认信息,单击 确定,从暂停状态恢复该队列,允许新的任务加入到队列中运行。

将队列加入到队列组

队列未加入任何队列组时,可按如下步骤说明将队列加入队列组。一个队列仅支持加入一个队列组。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到需要更新配置的队列,单击对应 操作 列下的 加入队列组
  5. 在系统弹出的对话框中,为当前队列选择 目标队列组,然后单击 确定,将队列加入到指定队列组。
    alt

从队列组中移出队列

已加入队列组的队列,可以将其从队列组中移出。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击目标集群名称。
  3. 在集群管理页面的左侧导航栏中,选择 批量计算 > 队列管理
  4. 队列管理 页面,找到需要更新配置的队列,在对应 操作 列下选择 ... > 移出队列组
  5. 在系统弹出的二次确认对话框中确认信息,单击 确定,从队列组中移出该队列。