作业
创建和管理作业的本机支持。
“作业”选项卡为创建、计划和管理作业提供本地支持。从侧面菜单中,点击 作业。显示屏将单个显示您当前的所有作业,若分组,则在组文件夹中显示。
图 1 -“作业”主屏幕
单击每个列名称旁边的向下箭头以排序列表。
列 | 描述 | 值 |
---|
名称 | 作业的唯一标识符。对应配置部分的 作业。 | |
状态 | 作业的当前状态。 | 计划内或计划外 |
上次运行 | 显示上次运行作业的最终状态。 | 成功或失败 |
创建新作业
在 DC/OS UI 中创建作业的方法有两种。
- 如果未配置任何作业,“作业”屏幕将包含一个指出您没有活动作业的通知以及 创建作业 按钮。
图 2 -“创建作业”按钮
- 无论您是否有活动的作业,您始终都可以单击右上角的 + 标志来创建新的作业。
图 3 - 点击加号
将显示新作业的配置屏幕。请注意,此屏幕与用于编辑作业的屏幕相同。
图 4 -“作业配置”屏幕
### 分画面屏幕
请注意,在所有 作业 配置屏幕中,您可以选择单独查看 UI,或在 UI 和 JSON 编辑器 窗口之间分割屏幕。在对 作业 配置选项的以下讨论中,我们将向您介绍分画面屏幕,以便您能看到它们如何共同工作的,但您也可以始终选择自己使用 UI。
对任一界面作出的编辑都会立即反映在另一个界面中。例如,如果您在左侧 UI 的任何字段中输入一个值,它将被添加到右侧的 JSON 文件中。
要消除 JSON 编辑器 屏幕,请再次单击切换按钮。
图 5 - 分画面屏幕
要调用 JSON 编辑器,请单击 提交 按钮旁边的 JSON 编辑器 切换开关。
# 配置作业
您将在屏幕的左侧看到 8 个选项卡。这些可帮助您命名、配置和管理作业:
名称 | 说明 |
---|
常规 | 设置最基本的作业设置,如作业标识符、CPU、内存和磁盘要求。 |
容器运行时 | 指定作业运行是否使用通用容器运行时或 Docker 引擎。 |
计划 | 为您的作业设置计划。您可以使用 cron 格式。 |
环境 | 指定要附加到每个作业实例的环境变量。 |
卷 | 通过设置持久卷来配置有状态的作业。 |
放置 | 指定分域和分区中代理节点的放置以获得高可用性,或者将能力扩展到新分域。 |
运行配置 | 作业的高级设置。 |
密钥 | 设置一个密钥存储库,以保护私钥、API 令牌等重要值。 |
## 概述
常规 选项卡允许您设置作业的最基本配置。
图 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 资源。这是建议的选择。
图 7 - 作业 > 容器运行时 选项卡
名称 | 说明 |
---|
启动时强制拉取镜像 | 在启动每个实例之前强制 Docker 拉取最新镜像。 |
### Docker 引擎
Docker 引擎是 Docker 的容器运行时。它需要镜像,且不支持 GPU 资源。
图 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 执行的操作:执行、提取或缓存。 |
图 14 - 添加工件 URI 和操作
名称 | 说明 |
---|
重新启动策略 | 指定当作业失败时要采取的步骤。 |
从不 | 如果您不想尝试重新启动失败的作业,可以选择此项。 |
失败时 | 使用 坚持尝试时间 字段设置尝试重新启动作业的时间限制。例如,如果希望在等待 30 秒后尝试重新启动作业,请将 坚持尝试时间 设置为 30。如果未为“坚持尝试时间”设置任何值,DC/OS 将继续尝试无限期地重新启动失败的作业。 |
添加标签 | 指定希望作为元数据附加到新作业的 键 和 值。然后,您可以使用作业标签来筛选或公开已标记作业的信息。对于希望包括的每个名称/值对,您可以通过单击 添加标签 添加多个标签键名称/值对。有关使用标签的更多信息,请参阅 标记任务和作业。 |
密钥
选择 DC/OS 密钥存储库,以保护私钥、API 令牌和数据库密码等重要值。
要在应用程序中使用密钥,您必须确保用户具有适当的权限。如需更多信息,请参阅 密钥文档。
单击 添加密钥 以添加密钥。
图 15 - 密钥选项卡
名称 | 说明 |
---|
密钥 | 唯一值也允许一次性使用。 |
公开为 | 从下拉菜单中,选择环境值或文件。 |
环境值 | 环境基于变量的密钥。 |
环境变量名称 | 输入环境变量的名称。 |
使用 UI 管理作业
添加、查看、修改或移除作业的详细信息可在 部署作业 部分找到。