View a markdown version of this page

使用 S3 建立 conda 頻道 - 截止日期雲端

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 S3 建立 conda 頻道

如果您的任務需要執行 deadline-cloudconda-forge頻道上無法使用的應用程式,您可以託管自訂 conda 頻道來提供您自己的套件。當您在截止日期雲端 AWS (截止日期雲端) 主控台中建立佇列時,主控台預設會新增 Conda 佇列環境。若要讓套件可供任務使用,請將自訂頻道新增至佇列環境。

conda 頻道是靜態託管內容,您可以透過各種方式託管,包括檔案系統或 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如果您的截止日期雲端陣列使用資產的共用檔案系統,您可以使用其上的任何路徑做為頻道名稱。您可以在 Amazon S3 儲存貯體中託管頻道,以便使用 AWS Identity and Access Management (IAM) 許可進行更廣泛的存取。

您可以在本機建置和測試套件,然後將其發佈到頻道。在本機建置套件是開始在套件建置配方上迭代的簡單方法,無需基礎設施設定。您也可以使用截止日期雲端套件建置佇列來建置套件並將其發佈至頻道。套件建置佇列可簡化多個作業系統和加速器組態的維護套件。您可以從任何地方更新版本並提交完整的套件組建集。

您可以透過多種方式為 Studio 和 Deadline Cloud Farm 設定頻道。您可以有一個 Amazon S3 頻道,並將所有工作站和陣列主機設定為使用它。您也可以擁有多個頻道,並使用 AWS DataSync (DataSync) 設定鏡像。例如,您的 Deadline Cloud 套件建置佇列可以發佈到 Amazon S3 頻道,該頻道在現場部署針對工作站和現場部署陣列主機進行鏡像。

設定自訂 conda 套件的生產佇列許可

您的生產佇列需要佇列 S3 儲存貯體中/Conda字首的唯讀許可。開啟與生產佇列相關聯之角色的 AWS Identity and Access Management (IAM) 頁面,並使用下列內容修改政策:

  1. 開啟截止日期雲端主控台,並導覽至套件建置佇列的佇列詳細資訊頁面。

  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頻道位置新增至您提交至截止日期雲端的任務CondaChannels參數。Deadline Cloud 提供的提交者會提供欄位來指定自訂 conda 頻道和套件。

您可以編輯生產佇列的 conda 佇列環境,以避免修改每個任務。請執行下列步驟:

  1. 開啟截止日期雲端主控台,並導覽至生產佇列的佇列詳細資訊頁面。

  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 4.2 Blender 同時位於新頻道和deadline-cloud頻道的任務,將從頻道清單中的第一個頻道提取套件。如果在第一個通道中找不到指定的套件版本,則會檢查後續通道的套件版本。

對於客戶管理的機群,您可以使用 Deadline Cloud 範例GitHub儲存庫中的其中一個 conda 佇列環境範例來啟用 conda 套件的使用。