作业

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

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

Jobs

图 1 -“作业”主屏幕

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

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

创建新作业

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

  • 如果未配置任何作业,“作业”屏幕将包含一个指出您没有活动作业的通知以及 创建作业 按钮。

无活动作业

图 2 -“创建作业”按钮

  • 无论您是否有活动的作业,您始终都可以单击右上角的 + 标志来创建新的作业。

加号

图 3 - 点击加号

将显示新作业的配置屏幕。请注意,此屏幕与用于编辑作业的屏幕相同。

作业配置屏幕

图 4 -“作业配置”屏幕

分画面屏幕

请注意,在所有 作业 配置屏幕中,您可以选择单独查看 UI,或在 UI 和 JSON 编辑器 窗口之间分割屏幕。在对 作业 配置选项的以下讨论中,我们将向您介绍分画面屏幕,以便您能看到它们如何共同工作的,但您也可以始终选择自己使用 UI。

对任一界面作出的编辑都会立即反映在另一个界面中。例如,如果您在左侧 UI 的任何字段中输入一个值,它将被添加到右侧的 JSON 文件中。

要消除 JSON 编辑器 屏幕,请再次单击切换按钮。

分画面屏幕

图 5 - 分画面屏幕

要调用 JSON 编辑器,请单击 提交 按钮旁边的 JSON 编辑器 切换开关。

配置作业

您将在屏幕的左侧看到 8 个选项卡。这些可帮助您命名、配置和管理作业:

名称 说明
General 设置最基本的作业设置,如作业标识符、CPU、内存和磁盘要求。
Container Runtime 指定作业运行是否使用通用容器运行时或 Docker 引擎。
Schedule 为您的作业设置计划。您可以使用 cron 格式。
Environment 指定要附加到每个作业实例的环境变量。
Volumes 通过设置持久卷来配置有状态的作业。
Placement 指定分域和分区中代理节点的放置以获得高可用性,或者将能力扩展到新分域。
Run Configuration 作业的高级设置。
Secrets 设置一个密钥存储库,以保护私钥、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. 必须提供一个 cmd 或 args。在同一作业中同时提供 cmd 和 args 则无效。
仅命令 指定要在主机上或容器中运行的命令。该值由 Mesos 通过 打包。/bin/sh - job.cmd. 必须提供一个 cmd 或 args。在同一作业中同时提供 cmd 和 args 则无效。

容器运行时

容器运行时 负责运行作业。我们支持 通用容器运行时 (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 管理作业

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