View a markdown version of this page

创建截止日期云农场 - 截止日期云

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

创建截止日期云农场

要在 Deadl AWS ine Cloud 中创建开发人员农场和队列资源,请使用 AWS Command Line Interface (AWS CLI),如以下过程所示。您还将创建 AWS Identity and Access Management (IAM) 角色和客户管理队列 (CMF),并将该队列与您的队列关联起来。然后,您可以配置 AWS CLI 并确认您的农场已按指定设置和运行。

你可以使用这个农场来探索 Deadline Cloud 的功能,然后开发和测试新的工作负载、自定义和管道集成。

创建农场
  1. 打开会 AWS CloudShell 话。您将使用 CloudShell 窗口输入 AWS Command Line Interface (AWS CLI) 命令来运行本教程中的示例。继续操作时保持 CloudShell 窗口处于打开状态。

  2. 为您的农场创建名称,然后将该农场名称添加到~/.bashrc。存储名称使其在其他终端会话中可用。

    echo "DEV_FARM_NAME=DeveloperFarm" >> ~/.bashrc source ~/.bashrc
  3. 创建农场资源,并将其农场 ID 添加到~/.bashrc

    aws deadline create-farm \ --display-name "$DEV_FARM_NAME" echo "DEV_FARM_ID=\$(aws deadline list-farms \ --query \"farms[?displayName=='\$DEV_FARM_NAME'].farmId \ | [0]\" --output text)" >> ~/.bashrc source ~/.bashrc
  4. 创建队列资源,并将其队列 ID 添加到 ~/.bashrc.

    aws deadline create-queue \ --farm-id $DEV_FARM_ID \ --display-name "$DEV_FARM_NAME Queue" \ --job-run-as-user '{"posix": {"user": "job-user", "group": "job-group"}, "runAs":"QUEUE_CONFIGURED_USER"}' echo "DEV_QUEUE_ID=\$(aws deadline list-queues \ --farm-id \$DEV_FARM_ID \ --query \"queues[?displayName=='\$DEV_FARM_NAME Queue'].queueId \ | [0]\" --output text)" >> ~/.bashrc source ~/.bashrc
  5. 为舰队创建 IAM 角色。此角色为队列中的工作人员主机提供必要的安全证书,以从队列中运行作业。

    aws iam create-role \ --role-name "${DEV_FARM_NAME}FleetRole" \ --assume-role-policy-document \ '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.deadline.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' aws iam put-role-policy \ --role-name "${DEV_FARM_NAME}FleetRole" \ --policy-name WorkerPermissions \ --policy-document \ '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "deadline:AssumeFleetRoleForWorker", "deadline:UpdateWorker", "deadline:DeleteWorker", "deadline:UpdateWorkerSchedule", "deadline:BatchGetJobEntity", "deadline:AssumeQueueRoleForWorker" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${aws:ResourceAccount}" } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": "arn:aws:logs:*:*:*:/aws/deadline/*", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${aws:ResourceAccount}" } } }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:logs:*:*:*:/aws/deadline/*", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${aws:ResourceAccount}" } } } ] }'
  6. 创建客户管理的队列 (CMF),并将其队列 ID 添加到。~/.bashrc

    FLEET_ROLE_ARN="arn:aws:iam::$(aws sts get-caller-identity \ --query "Account" --output text):role/${DEV_FARM_NAME}FleetRole" aws deadline create-fleet \ --farm-id $DEV_FARM_ID \ --display-name "$DEV_FARM_NAME CMF" \ --role-arn $FLEET_ROLE_ARN \ --max-worker-count 5 \ --configuration \ '{ "customerManaged": { "mode": "NO_SCALING", "workerCapabilities": { "vCpuCount": {"min": 1}, "memoryMiB": {"min": 512}, "osFamily": "linux", "cpuArchitectureType": "x86_64" } } }' echo "DEV_CMF_ID=\$(aws deadline list-fleets \ --farm-id \$DEV_FARM_ID \ --query \"fleets[?displayName=='\$DEV_FARM_NAME CMF'].fleetId \ | [0]\" --output text)" >> ~/.bashrc source ~/.bashrc
  7. 将 CMF 与您的队列关联。

    aws deadline create-queue-fleet-association \ --farm-id $DEV_FARM_ID \ --queue-id $DEV_QUEUE_ID \ --fleet-id $DEV_CMF_ID
  8. 安装 Deadline Cloud 命令行界面。

    pip install deadline
  9. 要将默认服务器场设置为服务器场 ID,将队列设置为您之前创建的队列 ID,请使用以下命令。

    deadline config set defaults.farm_id $DEV_FARM_ID deadline config set defaults.queue_id $DEV_QUEUE_ID
  10. (可选)要确认您的农场是根据您的规格设置的,请使用以下命令:

    • 列出所有农场— deadline farm list

    • 列出默认服务器场中的所有队列 — deadline queue list

    • 列出默认农场中的所有舰队 — deadline fleet list

    • 获取默认农场 — deadline farm get

    • 获取默认队列 — deadline queue get

    • 获取与默认队列关联的所有舰队— deadline fleet get

后续步骤

创建农场后,您可以在队列中的主机上运行 Deadline Cloud 工作程序代理来处理任务。请参阅运行 Deadline Cloud 工作者代理