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

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

创建截止日期云场

要在 De AWS adline 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 云端工作者代理