View a markdown version of this page

使用 S3 创建 conda 频道 - 截止日期云

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 S3 创建 conda 频道

如果你的作业需要运行deadline-cloudconda-forge频道上没有的应用程序,你可以托管一个自定义 conda 频道来提供你自己的软件包。当你在 Deadline Cloud(De AWS adline Cloud)控制台中创建队列时,控制台默认会添加一个 conda 队列环境。要使您的包可用于作业,请将自定义频道添加到队列环境中。

conda 频道是静态托管的内容,您可以通过多种方式托管,包括在文件系统或亚马逊简单存储服务 (Amazon S3) 存储桶中。如果您的 Deadline Cloud 场使用共享文件系统存储资产,则可以使用其上的任何路径作为频道名称。您可以将频道托管在 Amazon S3 存储桶中,以便使用 AWS Identity and Access Management (IAM) 权限进行更广泛的访问。

你可以在本地构建和测试软件包,然后将其发布到频道。在本地构建软件包是一种无需设置基础架构即可开始迭代包构建配方的简便方法。您也可以使用 Deadline Cloud 包构建队列来构建软件包并将其发布到频道。软件包生成队列简化了针对多个操作系统和加速器配置的软件包的维护。您可以随时随地更新版本并提交全套软件包构建。

您可以通过多种方式为工作室和 Deadline Cloud 农场配置频道。您可以拥有一个 Amazon S3 通道,并将所有工作站和场主机配置为使用该通道。您也可以拥有多个频道,并使用 AWS DataSync (DataSync) 设置镜像。例如,您的 Deadline Cloud 包构建队列可以发布到 Amazon S3 频道,该频道会在本地镜像工作站和本地服务器场主机。

为自定义 conda 包配置生产队列权限

您的生产队列需要队列的 S3 存储桶中/Conda前缀的只读权限。打开与生产队列关联的角色的 AWS Identity and Access Management (IAM) 页面,然后使用以下命令修改策略:

  1. 打开 Deadline Cloud 控制台并导航到包生成队列的队列详细信息页面。

  2. 选择队列服务角色,然后选择编辑队列

  3. 滚动至队列服务角色部分,然后选择在 IAM 控制台中查看此角色

  4. 从权限策略列表中,AmazonDeadlineCloudQueuePolicy为您的队列选择。

  5. 从 “权限” 选项卡中,选择 “编辑”

  6. 向队列服务角色添加一个新部分,如下所示。111122223333用您自己的存储桶和账户替换amzn-s3-demo-bucket和。

    { "Effect": "Allow", "Sid": "CustomCondaChannelReadOnly", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } },

向队列环境中添加 conda 频道

要使用 S3 conda 频道,您需要将s3://amzn-s3-demo-bucket/Conda/Default频道位置添加到提交给 Deadline Cloud 的任务CondaChannels参数中。Deadline Cloud 提供的提交者提供了用于指定自定义 conda 频道和套餐的字段。

您可以通过编辑生产队列的 conda 队列环境来避免修改每个作业。执行以下步骤:

  1. 打开 Deadline Cloud 控制台并导航到生产队列的队列详细信息页面。

  2. 选择 “环境” 选项卡。

  3. 选择 Conda 队列环境,然后选择 “编辑”

  4. 选择 JSON 编辑器,然后在脚本中找到的参数定义CondaChannels

  5. 编辑该行,default: "deadline-cloud"使其从新创建的 S3 conda 通道开始:

    default: "s3://amzn-s3-demo-bucket/Conda/Default deadline-cloud"

默认情况下,服务管理舰队为 conda 启用灵活的频道优先级。对于请求新频道和频道中blender=4.2是否都有 Blender 4.2 的任务,将从deadline-cloud频道列表中第一个频道中提取包裹。如果在第一个频道中找不到指定的包版本,则将按软件包版本的顺序检查后续频道。

对于客户管理的舰队,您可以使用 Deadline Cloud 示例存储库中的一个 c onda 队列环境示例来启用 conda 软件包。GitHub