作业

创建和管理作业的本机支持。

“作业”选项卡为创建、计划和管理作业提供本地支持。从侧面菜单中,点击 作业。显示屏将单个显示您当前的所有作业,若分组,则在组文件夹中显示。

Jobs

图 1 -“作业”主屏幕

单击每个列名称旁边的向下箭头以排序列表。

描述
名称作业的唯一标识符。对应配置部分的 作业
状态作业的当前状态。计划内或计划外
上次运行显示上次运行作业的最终状态。成功或失败

创建新作业

在 DC/OS UI 中创建作业的方法有两种。

  • 如果未配置任何作业,“作业”屏幕将包含一个指出您没有活动作业的通知以及 创建作业 按钮。
无活动作业 图 2 -“创建作业”按钮
  • 无论您是否有活动的作业,您始终都可以单击右上角的 + 标志来创建新的作业。
加号 图 3 - 点击加号 将显示新作业的配置屏幕。请注意,此屏幕与用于编辑作业的屏幕相同。 作业配置屏幕 图 4 -“作业配置”屏幕 ### 分画面屏幕 请注意,在所有 作业 配置屏幕中,您可以选择单独查看 UI,或在 UI 和 JSON 编辑器 窗口之间分割屏幕。在对 作业 配置选项的以下讨论中,我们将向您介绍分画面屏幕,以便您能看到它们如何共同工作的,但您也可以始终选择自己使用 UI。 对任一界面作出的编辑都会立即反映在另一个界面中。例如,如果您在左侧 UI 的任何字段中输入一个值,它将被添加到右侧的 JSON 文件中。 要消除 JSON 编辑器 屏幕,请再次单击切换按钮。 分画面屏幕 图 5 - 分画面屏幕 要调用 JSON 编辑器,请单击 提交 按钮旁边的 JSON 编辑器 切换开关。 # 配置作业 您将在屏幕的左侧看到 8 个选项卡。这些可帮助您命名、配置和管理作业:
名称说明
常规设置最基本的作业设置,如作业标识符、CPU、内存和磁盘要求。
容器运行时指定作业运行是否使用通用容器运行时或 Docker 引擎。
计划为您的作业设置计划。您可以使用 cron 格式。
环境指定要附加到每个作业实例的环境变量。
通过设置持久卷来配置有状态的作业。
放置指定分域和分区中代理节点的放置以获得高可用性,或者将能力扩展到新分域。
运行配置作业的高级设置。
密钥设置一个密钥存储库,以保护私钥、API 令牌等重要值。
## 概述 常规 选项卡允许您设置作业的最基本配置。 Jobs 图 6 - 常规配置选项卡
名称说明
作业 ID必填字段。定义新作业的唯一标识符。您还可以使用此设置管理作业操作。每个名称必须至少为 1 个字符,且只能包含数字 (0-9)、连字符 (-)和小写字母 (a-z)。名称开头或结尾不得用连字符。
描述提供新作业的可选描述。
CPU必填字段。指定作业所需的 CPU 内核数。该数字可以是整数或分数。
MEM (MiB)必填字段。指定作业所需的内存大小,以 MiB 为单位。
磁盘 (MiB)必填字段。指定作业所需的磁盘空间大小,以 MiB 为单位。
GPU指定此作业每个实例所需的 GPU(图形处理单元)共享次数。此字段仅适用于在节点上运行的作业,该节点配置为使用 GPU(图形处理单元)内核和任务,而该 GPU 内核和任务使用 DC/OS 通用容器运行时 容器启动。对 GPU 资源的支持不适用于 Docker 容器或镜像。
作业类型选择 容器镜像,可选 命令仅命令
容器镜像存储库名称。此字段允许您指定要运行的镜像,例如,Ubuntu:14.04。
命令指定要在主机上或容器中运行的命令。该值由 Mesos 通过 /bin/sh - job.cmd 打包。必须提供一个 cmdargs。在同一作业中同时提供 cmdargs 则无效。
仅命令指定要在主机上或容器中运行的命令。该值由 Mesos 通过 /bin/sh - job.cmd 打包。必须提供一个 cmdargs。在同一作业中同时提供 cmdargs 则无效。
## 容器运行时 容器运行时 负责运行作业。我们支持 通用容器运行时 (UCR)Docker 引擎。 ### UCR 通用容器运行时 使用本机 Mesos 引擎,并支持 GPU 资源。这是建议的选择。 Jobs 图 7 - 作业 > 容器运行时 选项卡
名称说明
启动时强制拉取镜像在启动每个实例之前强制 Docker 拉取最新镜像。
### Docker 引擎 Docker 引擎是 Docker 的容器运行时。它需要镜像,且不支持 GPU 资源。 Jobs 图 8 - 作业 > 容器运行时 > Docker 引擎 选项卡 其他选项
名称说明
启动时强制拉取镜像在启动每个实例之前强制 Docker 拉取最新镜像。
授予运行时权限在特权模式下运行指定的 Docker 镜像。默认情况下,容器为“无特权”,例如无法在 Docker 容器内运行 Docker 守护程序。
Docker 参数
名称说明
添加参数为新作业指定其他 Docker 运行时 参数名称参数值(若适用)。您可以通过单击 添加参数 为您希望包括的每个 参数名称参数值 添加多个 参数名称 和对应值。
添加自变量为新作业指定其他命令行自变量(若适用)。您可以通过单击 添加自变量 为您希望包括的每个自变量添加多个自变量。
## 计划 可以使用 cron 格式设置带有时间表的作业。选择 计划,以指定作业运行的时间表。 计划 图 9 - 作业 > 计划 选项卡
名称说明
启用计划激活或停用计划程序。
计划 ID定义作业计划的唯一标识符。这是必填字段。计划标识符必须为至少 2 个字符的字符串,并且只能包含数字 (0-9)、连字符 (-) 和小写字母 (a-z)。计划标识符开头或结尾不得用连字符。
Cron 计划指定 cron 格式的计划。这是必填字段。使用 this crontab generator获取帮助。您还可以设置 时区 以应用于 cron 计划。例如,您可能在不同时区中有节点,并希望使用标准化 UTC 时间或特定本地时区(如 America/New_York)运行作业。
启动截止日期以秒为单位设置启动作业的时间(如果由于任何原因错过了计划的时间)。错过的作业执行被视为失败的作业。
并发策略确定当已经有作业实例在运行时是否触发了新的作业运行实例。如果已有作业实例在运行,而您希望允许新的作业实例运行,则可进行此设置。
## 环境 选择 环境 以配置要连接到启动的作业的每个实例的任何环境值。 环境 图 10 - 作业 > 环境 选项卡
名称说明
环境变量为每个服务启动设置环境变量。DC/OS 为主机端口和元数据揭示环境变量。
环境值的唯一名称。
分配给键的值。
## 卷 选择 选项卡,通过配置持久卷来创建有状态的作业。持久卷允许重启实例,而不会丢失数据。 卷 图 11 - 作业 > 卷 选项卡
名称说明
添加卷设置持久卷。
容器路径应用程序读写数据的路径。这必须是相对于容器的单层路径;不能包含正斜杠 (/)。
主机路径
模式卷的访问模式。您可以从下拉菜单中选择 读写只读
如需更多信息,请参阅 存储 文档。 ## 放置 您可以配置分域和区中代理节点的放置以实现高可用性,或在必要时将能力扩展到新分域。 放置 图 12 - 作业 > 放置 选项卡
名称说明
分域您想要运行代理节点的区域。如果您将此字段留空,您的作业将在本地区域运行。这些值通常对应于云服务提供商的区域,例如 aws/us-west-2
高级约束更准确地控制作业运行的地点。
约束分为三个部分:
  • 操作符。操作符有以下三个选择:
    • Is - 在有属性 ID 及特定值的节点上运行作业。
    • Like - 在特定属性 ID 集合上运行作业。
    • Unlike - 不在特定属性 ID 集合上运行作业。
  • 字段。这可以是代理节点的主机名或代理节点的任何属性。
  • 。这可以是您选择的字符串或 Regex 值。|

运行配置

选择 运行配置,为新作业指定高级设置。

运行配置

图 13 - 作业 > 运行配置 选项卡

名称说明
最大启动延迟指定由计划的作业运行或用户手动启动作业后,等待作业开始运行的最大秒数。如果作业在允许的最大秒数内未开始运行,作业将被中止。
结束宽限期指定在指示任务终止时从 SIGTERM 升级到 SIGKILL 的间隔秒数。在此宽限期内,任务应在收到 SIGTERM 后立即执行有序关闭。
用户名识别在代理节点上运行任务的用户账户。
工件 URI提供一个或多个您希望传递给提取程序模块并在运行时解析的工件 URI,以及您希望为每个 URI 执行的操作:执行、提取或缓存。

添加作业工件 URI 和操作

图 14 - 添加工件 URI 和操作

名称说明
重新启动策略指定当作业失败时要采取的步骤。
从不如果您不想尝试重新启动失败的作业,可以选择此项。
失败时使用 坚持尝试时间 字段设置尝试重新启动作业的时间限制。例如,如果希望在等待 30 秒后尝试重新启动作业,请将 坚持尝试时间 设置为 30。如果未为“坚持尝试时间”设置任何值,DC/OS 将继续尝试无限期地重新启动失败的作业。
添加标签指定希望作为元数据附加到新作业的 。然后,您可以使用作业标签来筛选或公开已标记作业的信息。对于希望包括的每个名称/值对,您可以通过单击 添加标签 添加多个标签键名称/值对。有关使用标签的更多信息,请参阅 标记任务和作业

密钥

选择 DC/OS 密钥存储库,以保护私钥、API 令牌和数据库密码等重要值。

要在应用程序中使用密钥,您必须确保用户具有适当的权限。如需更多信息,请参阅 密钥文档

单击 添加密钥 以添加密钥。

Secrets

图 15 - 密钥选项卡

名称说明
密钥唯一值也允许一次性使用。
公开为从下拉菜单中,选择环境值或文件。
环境值环境基于变量的密钥。
环境变量名称输入环境变量的名称。

使用 UI 管理作业

添加、查看、修改或移除作业的详细信息可在 部署作业 部分找到。