View a markdown version of this page

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

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

使用 S3 创建 conda 频道

如果你的任务需要运行deadline-cloudconda-forge频道上不可用的应用程序,你可以托管一个自定义 conda 频道来提供你自己的软件包。当你在 Deadl AWS ine Cloud(Deadline 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. 向队列服务角色添加一个新部分,如下所示。将amzn-s3-demo-bucket111122223333替换为您自己的存储桶和账户。

    { "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"

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

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