本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为服务托管舰队提供容器支持
容器支持允许 Linux 服务托管队列在Docker镜像内运行作业操作。默认Docker队列环境从 Amazon ECR 提取图像。您可以自定义队列环境,以向其他容器注册表提供商进行身份验证并从中提取。有关详细信息,请参阅 D e adline Cloud 开发人员指南中的自定义Docker队列环境。
你在队列环境中选择镜像,Deadline Cloud 会在车队的工作人员Docker上安装和配置无根目录。该服务为每个作业会话启动一个容器,并在会话结束时将其停止。
容器支持的工作原理
容器支持在队列和队列之间划分配置:
| 资源 | 配置 | 用途 |
|---|---|---|
Fleet |
DockerLinux 服务托管队列上的软件附加组件 |
在每个工作人员上安装无根Docker且可选的 GPU 集成 |
队列 |
Docker默认队列环境和 Amazon ECR 镜像 URI |
拉取图像并在会话容器中运行环境和任务操作 |
Queue-fleet 协会 |
与Docker启用了的队列关联的容器队列 |
仅将容器任务路由给提供以下服务的工作人员 Docker |
Deadline Cloud Docker 在无根模式下运行。容器操作以非特权job-user身份运行,不向工作人员提供 root 访问权限。
默认队列环境将作业会话目录挂载到容器内的相同路径上。因此,嵌入式文件、作业附件和配置的输出路径仍然可供作业操作使用。
当队列具有 GPU 实例时,Deadline Cloud 会配置容器设备接口 (CDI) 支持。队列环境使容器无需特权访问容器即可使用 GPU。
先决条件
在开始之前,您需要以下资源:
截止日期云场。
Linux 服务托管队列,或创建队列的权限。容器支持不适用于Windows。
您可以更新的队列角色和舰队角色。
Amazon ECR 私有存储库中的带标签的图像。有关说明,请参阅 De adline Cloud 开发者指南中的构建、标记和推送容器镜像。
配置舰队和队列
配置容器支持
-
登录 AWS 管理控制台并打开 De adline Cloud 控制台
。 -
打开您的服务器场,选择 Fleets,然后创建或编辑服务托管舰队。
-
对于舰队操作系统,请选择 Linux。
-
在 “其他配置” 下,找到容器支持。选择启用Docker(安装Docker引擎,配置 ECR 拉取访问权限)。
-
选择或创建舰队角色。控制台会附加
AmazonEC2ContainerRegistryReadOnlyAWS 托管策略,以便工作人员可以从 Amazon ECR 中提取映像。 -
(可选)在 “存储功能” 下,选择 “永久存储”,以便在工作线程生命周期事件中保留Docker层和应用程序缓存。有关更多信息,请参阅 服务管理队列的永久存储。
-
完成舰队的创建或更新。
-
创建或编辑队列。在 “默认队列环境” 下,选择 “环境类型” Docker。
-
对于容器映像 URI,请选择 Amazon ECR 存储库和图像标签,或者按以下格式输入完整的映像 URI:
account-id.dkr.ecr.region.amazonaws.com/repository:tag -
选择或创建队列角色。控制台会附加
AmazonEC2ContainerRegistryReadOnly托管策略,以便队列环境可以向 Amazon ECR 进行身份验证并提取映像。 -
将队列与Docker启用了该队列的队列相关联。
验证容器支持
队列变为活动状态后,请验证以下设置:
该舰队的软件附加组件价值包括Docker。
队列使用Docker默认环境并显示选定的图像 URI。
该队列仅与已Docker启用的 Linux 服务托管队列相关联。
更新车队并不能取代已经在运行的工作人员。要立即将Docker软件插件应用于每位工作人员,请按中所述排干并重启队列更新实例集配置。
后续步骤
要自动设置队列和角色,请参阅创建一个 Docker-已启用舰队 AWS CLI。
有关图像工作流程、可移植作业模板、队列环境内部、存储挂载和安全指南,请参阅 De adline Cloud 开发者指南中的在容器中运行便携式作业。