作业
创建和管理作业的本机支持。
图 1 -“作业”主屏幕
单击每个列名称旁边的向下箭头以排序列表。
创建新作业
在 DC/OS UI 中创建作业的方法有两种。
图 2 -“创建作业”按钮
- 无论您是否有活动的作业,您始终都可以单击右上角的 + 标志来创建新的作业。
图 3 - 点击加号
将显示新作业的配置屏幕。请注意,此屏幕与用于编辑作业的屏幕相同。
图 4 -“作业配置”屏幕
请注意,在所有 作业 配置屏幕中,您可以选择单独查看 UI,或在 UI 和 JSON 编辑器 窗口之间分割屏幕。在对 作业 配置选项的以下讨论中,我们将向您介绍分画面屏幕,以便您能看到它们如何共同工作的,但您也可以始终选择自己使用 UI。
对任一界面作出的编辑都会立即反映在另一个界面中。例如,如果您在左侧 UI 的任何字段中输入一个值,它将被添加到右侧的 JSON 文件中。
要消除 JSON 编辑器 屏幕,请再次单击切换按钮。
图 5 - 分画面屏幕
要调用 JSON 编辑器,请单击 提交 按钮旁边的 JSON 编辑器 切换开关。
配置作业
名称 | 说明 |
---|---|
General | 设置最基本的作业设置,如作业标识符、CPU、内存和磁盘要求。 |
指定作业运行是否使用通用容器运行时或 Docker 引擎。 | |
Schedule | 为您的作业设置计划。您可以使用 格式。 |
指定要附加到每个作业实例的环境变量。 | |
Volumes | 通过设置持久卷来配置有状态的作业。 |
指定分域和分区中代理节点的放置以获得高可用性,或者将能力扩展到新分域。 | |
Run Configuration | 作业的高级设置。 |
设置一个密钥存储库,以保护私钥、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 和 则无效。 |
仅命令 | 指定要在主机上或容器中运行的命令。该值由 Mesos 通过 打包。/bin/sh - job.cmd . 必须提供一个 cmd 或 args 。在同一作业中同时提供 cmd 和 则无效。 |
容器运行时
容器运行时 负责运行作业。我们支持 通用容器运行时 (UCR) 和 Docker 引擎。
通用容器运行时 使用本机 Mesos 引擎,并支持 GPU 资源。这是建议的选择。
图 7 - 作业 > 容器运行时 选项卡
名称 | 说明 |
---|---|
启动时强制拉取镜像 | 在启动每个实例之前强制 Docker 拉取最新镜像。 |
Docker 引擎是 Docker 的容器运行时。它需要镜像,且不支持 GPU 资源。
图 8 - 作业 > 容器运行时 > Docker 引擎 选项卡
其他选项
Docker 参数
名称 | 说明 |
---|---|
添加参数 | 为新作业指定其他 Docker 运行时 参数名称 和 参数值(若适用)。您可以通过单击 添加参数 为您希望包括的每个 参数名称 和 参数值 添加多个 参数名称 和对应值。 |
添加自变量 | 为新作业指定其他命令行自变量(若适用)。您可以通过单击 添加自变量 为您希望包括的每个自变量添加多个自变量。 |
可以使用 cron
格式设置带有时间表的作业。选择 计划,以指定作业运行的时间表。
图 9 - 作业 > 计划 选项卡
名称 | 说明 |
---|---|
启用计划 | 激活或停用计划程序。 |
计划 ID | 定义作业计划的唯一标识符。这是必填字段。计划标识符必须为至少 2 个字符的字符串,并且只能包含数字 (0-9)、连字符 (-) 和小写字母 (a-z)。计划标识符开头或结尾不得用连字符。 |
Cron 计划 | 指定 cron 格式的计划。这是必填字段。使用 this crontab generator 获取帮助。您还可以设置 时区 以应用于 cron 计划。例如,您可能在不同时区中有节点,并希望使用标准化 UTC 时间或特定本地时区(如 America/New_York)运行作业。 |
启动截止日期 | 以秒为单位设置启动作业的时间(如果由于任何原因错过了计划的时间)。错过的作业执行被视为失败的作业。 |
并发策略 | 确定当已经有作业实例在运行时是否触发了新的作业运行实例。如果已有作业实例在运行,而您希望允许新的作业实例运行,则可进行此设置。 |
环境
选择 环境 以配置要连接到启动的作业的每个实例的任何环境值。
名称 | 说明 |
---|---|
环境变量 | 为每个服务启动设置环境变量。DC/OS为主机端口和元数据揭示环境变量。 |
键 | 环境值的唯一名称。 |
值 | 分配给键的值。 |
选择 卷 选项卡,通过配置持久卷来创建有状态的作业。持久卷允许重启实例,而不会丢失数据。
图 11 - 作业 > 卷 选项卡
如需更多信息,请参阅 存储 文档。
放置
您可以配置分域和区中代理节点的放置以实现高可用性,或在必要时将能力扩展到新分域。
图 12 - 作业 > 放置 选项卡
名称 | 说明 |
---|---|
分域 | 您想要运行代理节点的区域。如果您将此字段留空,您的作业将在本地区域运行。这些值通常对应于云服务提供商的区域,例如 aws/us-west-2 。 |
高级约束 | 更准确地控制作业运行的地点。 |
约束分为三个部分:
- 操作符*。操作符有以下三个选择:
- Is - 在有属性 ID 及特定值的节点上运行作业。
- Like - 在特定属性 ID 集合上运行作业。
- Unlike - 不在特定属性 ID 集合上运行作业。
- 字段。这可以是代理节点的主机名或代理节点的任何属性。
- 值。这可以是您选择的字符串或 Regex 值。|
选择 运行配置,为新作业指定高级设置。
图 13 - 作业 > 运行配置 选项卡
名称 | 说明 |
---|---|
最大启动延迟 | 指定由计划的作业运行或用户手动启动作业后,等待作业开始运行的最大秒数。如果作业在允许的最大秒数内未开始运行,作业将被中止。 |
结束宽限期 | 指定在指示任务终止时从 SIGTERM 升级到 的间隔秒数。在此宽限期内,任务应在收到 SIGTERM 后立即执行有序关闭。 |
用户名 | 识别在代理节点上运行任务的用户账户。 |
工件 URI | 提供一个或多个您希望传递给提取程序模块并在运行时解析的工件 URI,以及您希望为每个 URI 执行的操作:执行、提取或缓存。 |
图 14 - 添加工件 URI 和操作
名称 | 说明 |
---|---|
重新启动策略 | 指定当作业失败时要采取的步骤。 |
从不 | 如果您不想尝试重新启动失败的作业,可以选择此项。 |
失败时 | 使用 坚持尝试时间 字段设置尝试重新启动作业的时间限制。例如,如果希望在等待 30 秒后尝试重新启动作业,请将 坚持尝试时间 设置为 30。如果未为“坚持尝试时间”设置任何值,DC/OS 将继续尝试无限期地重新启动失败的作业。 |
添加标签 | 指定希望作为元数据附加到新作业的 键 和 值。然后,您可以使用作业标签来筛选或公开已标记作业的信息。对于希望包括的每个名称/值对,您可以通过单击 添加标签 添加多个标签键名称/值对。有关使用标签的更多信息,请参阅 标记任务和作业。 |
密钥
选择 DC/OS 密钥存储库,以保护私钥、API 令牌和数据库密码等重要值。
要在应用程序中使用密钥,您必须确保用户具有适当的权限。如需更多信息,请参阅 密钥文档。
单击 添加密钥 以添加密钥。
使用 UI 管理作业
添加、查看、修改或移除作业的详细信息可在 部署作业 部分找到。