使用 Karpenter 创建用于 HyperPod 自动扩缩的 IAM 角色 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

打开 IAM 控制台
  1. 登录 Amazon Web Services 管理控制台 并在 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 需要 Amazon 托管策略中没有的特定权限,因此您必须创建自定义策略。

  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