使用 Karpenter 创建用于 HyperPod 自动扩缩的 IAM 角色 - 亚马逊 SageMaker AI

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

使用 Karpenter 创建用于 HyperPod 自动扩缩的 IAM 角色

在以下步骤中,您将创建一个 IAM 角色,该角色允许通过基于 Karpenter 的自动扩展 SageMaker HyperPod 来管理集群中的 Kubernetes 节点。此角色为根据工作负载需求自动 HyperPod 添加和删除群集节点提供了必要的权限。

打开 IAM 控制台
  1. 登录AWS 管理控制台并在 console.aws.amazon.com 上打开 IAM 控制台。

  2. 在导航窗格中,选择角色

  3. 选择创建角色

配置信任策略
  1. 对于可信实体类型,选择自定义信任策略

  2. 自定义信任策略编辑器中,将默认策略替换为以下内容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "hyperpod.sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. 选择下一步

创建并附加权限策略

由于 SageMaker HyperPod 需要AWS托管策略中没有的特定权限,因此您必须创建自定义策略。

  1. 选择创建策略。这将打开一个新的浏览器标签页。

  2. 选择 JSON 选项卡。

  3. 将默认策略替换为以下内容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:BatchAddClusterNodes", "sagemaker:BatchDeleteClusterNodes" ], "Resource": "arn:aws:sagemaker:*:*:cluster/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "sagemaker.*.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "Decrypt", "DescribeKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptTo", "ReEncryptFrom", "RetireGrant" ] } } } ] }
  4. 选择下一步

  5. 对于策略名称,输入 SageMakerHyperPodKarpenterPolicy

  6. (可选)对于描述,输入策略的描述。

  7. 选择创建策略

  8. 返回到角色创建选项卡并刷新策略列表。

  9. 搜索并选择您SageMakerHyperPodKarpenterPolicy刚刚创建的。

  10. 选择下一步

命名并创建角色
  1. 对于角色名称,输入 SageMakerHyperPodKarpenterRole

  2. (可选)对于描述,输入角色的描述。

  3. 步骤 1:选择可信实体部分,确认信任策略显示了正确的服务主体。

  4. 步骤 2:添加权限部分,确认已附加 SageMakerHyperPodKarpenterPolicy

  5. 选择创建角色

记录角色 ARN

在成功创建角色后:

  1. 角色列表中,选择角色名称 SageMakerHyperPodKarpenterRole

  2. 复制摘要部分中的角色 ARN。在创建集群时,您将需要此 ARN。 HyperPod

角色 ARN 遵循以下格式:arn:aws:iam::ACCOUNT-ID:role/SageMakerHyperPodKarpenterRole