本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建截止日期云场
要在 De AWS adline Cloud 中创建开发者群和队列资源,请使用 AWS Command Line Interface (AWS CLI),如以下过程所示。您还将创建一个 AWS Identity and Access Management (IAM) 角色和一个客户管理的队列 (CMF),并将队列与您的队列关联。然后,您可以配置 AWS CLI 并确认您的服务器场已按指定设置并正常运行。
您可以使用此服务器场来探索 Deadline Cloud 的功能,然后开发和测试新的工作负载、自定义项和管道集成。
创建农场
-
打开会 AWS CloudShell 话
。您将使用 CloudShell 窗口输入 AWS Command Line Interface (AWS CLI) 命令来运行本教程中的示例。继续操作时,请保持 CloudShell 窗口处于打开状态。 -
为您的农场创建一个名称,然后将该农场名称添加到
~/.bashrc
。这将使其可用于其他终端会话。echo "DEV_FARM_NAME=DeveloperFarm" >> ~/.bashrc source ~/.bashrc
-
创建服务器场资源,并将其场 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
-
创建队列资源,并将其队列 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
-
为舰队创建 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}" } } } ] }'
-
创建客户管理的队列 (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
-
将 CMF 与您的队列关联。
aws deadline create-queue-fleet-association \ --farm-id $DEV_FARM_ID \ --queue-id $DEV_QUEUE_ID \ --fleet-id $DEV_CMF_ID
-
安装 Deadline Cloud 命令行界面。
pip install deadline
-
要将默认场设置为场 ID,将队列设置为之前创建的队列 ID,请使用以下命令。
deadline config set defaults.farm_id $DEV_FARM_ID deadline config set defaults.queue_id $DEV_QUEUE_ID
-
(可选)要确认您的服务器场是否按照您的规格进行设置,请使用以下命令:
-
列出所有农场 —
deadline farm list
-
列出默认服务器场中的所有队列 —
deadline queue list
-
列出默认服务器场中的所有舰队 —
deadline fleet list
-
获取默认农场 —
deadline farm get
-
获取默认队列 —
deadline queue get
-
获取所有与默认队列关联的舰队 —
deadline fleet get
-
后续步骤
创建服务器场后,您可以在队列中的主机上运行 Deadline Cloud 工作代理来处理作业。请参阅运行 Deadline 云端工作者代理。