本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安装 SageMaker AI Spaces 附加组件
依赖项
Amazon EKS Pod 身份代理附加组件
-
操作员获取AWS凭证所必需的
-
通常预先安装在大多数 EKS 集群上
-
安装:通过 EKS 附加组件
证书管理器
-
TLS 证书管理所必需的
-
如果使用 HyperPod 快速创建集群,则@@ 预先安装
-
安装:通过 EKS 附加组件
EBS CSI 驱动程序
-
空间永久存储(EBS 卷)所必需的
-
使用 SageMaker控制台@@ 安装时自动安装
-
需要具有
AmazonEBSCSIDriverPolicy+ HyperPod 特定权限的 IAM 角色 -
安装:通过 EKS 附加组件。但是,请务必按照指南安装所需的其他权限 HyperPod。
WebUI 访问权限的其他依赖项
AWSLoad Balancer 控制器
-
如果使用 HyperPod 快速创建集群,则@@ 预先安装
-
安装:Via Helm
-
手动安装指南:安装 Loa AWS d Balancer 控制器
外部 DNS
-
使用自定义域名访问 WebUI 时为必填项
-
自动管理 Route53 的 DNS 记录
-
需要具有 Route53 权限的 IAM 角色
-
安装:通过 EKS 附加组件
安装
在开始之前,请确保您已具备以下条件:
-
至少有一个工作节点运行 Kubernetes 1.30 或更高版本的活跃 SageMaker HyperPod 集群
-
至少一个具有最低实例类型(XX vCPU、YY GiB 内存)的工作节点
安装 Amazon SageMaker Spaces 附加组件
你可以使用快速安装来安装 SageMaker Spaces 插件,使用快速安装进行默认设置,也可以使用自定义安装进行高级配置。
快速安装
-
打开 Amazon SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
从集群列表中选择您的集群。
-
在 IDE 和笔记本选项卡上,找到 Amazon SageMaker Spaces,然后选择快速安装。
自动快速安装:
-
为插件创建所需的 IAM 角色
-
使用 Systems Manager 所需的 IAM 角色启用远程访问模式
-
安装插件并配置 pod 身份关联
自定义安装
-
打开 Amazon SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/
。 -
从集群列表中选择您的集群。
-
在 IDE 和笔记本选项卡上,找到 Amazon SageMaker Spaces,然后选择 “自定义安装”。
-
配置以下选项:
插件所需的 IAM 角色
-
选择是使用推荐权限创建新 IAM 角色还是使用具有所需权限的现有角色(请参阅上面的管理员权限设置部分)
远程访问配置
-
启用此选项可允许用户使用 S AWS ystems Manager 从本地 Visual Studio 代码连接到空间
-
对于 SSM 托管实例角色:
-
创建新角色-该插件使用所需的 Systems Manager 权限创建和管理角色
-
使用现有角色-选择具有必要 Systems Manager 权限的预配置角色
-
-
确保 Spaces 插件执行角色具有 SSM 托管实例角色的 PassRole权限
注意
启用远程访问会激活 S AWS ystems Manager 高级实例级别,按实例收取额外的费用。有关定价信息,请参阅 Systems Manager 定价。
Web 浏览器访问配置
-
启用后允许用户使用 Route 53 DNS 和 SSL 证书通过网络浏览器访问空间
-
先决条件:在启用浏览器访问之前安装 AWS Load Balancer 控制器
-
Route 53 托管区域:选择现有区域或选择创建托管区域
-
子域:输入子域名前缀(仅限字母数字和连字符,最多 63 个字符)
-
SSL 证书:
-
创建新证书 — 使用 Route 53 的 DNS 记录自动从 AWS Certificate Manager 申请和验证
-
使用现有证书-从 Certifice Manager 中选择一个 SSL AWS 证书
-
-
令牌签名密钥:选择用于 JWT 令牌签名的 AWS KMS 非对称密钥,或者选择创建签名密钥
注意
对托管区域和 DNS 查询收取标准 Route 53 费用。有关定价信息,请参阅 Route 53 定价。
-
EKS 插件安装——带有 WebUI 的 Jupyter k8s
配置文件
创建addon-config.yaml:
jupyter-k8s: workspacePodWatching: enable: true jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" kmsEncryptionContext: enabled: true traefik: shouldInstall: true auth: kmsKeyId: "<KMS_KEY_ARN>"
替换以下占位符:
-
<DOMAIN_NAME>: 您的域名(例如,
jupyter.example.com) -
<ACM_CERTIFICATE_ARN>: 您的 ACM 证书 ARN(例如
arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012 -
<KMS_KEY_ARN>: 您的 KMS 密钥 ARN(例如
arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012
通过以下方式安装 AWS CLI
aws eks create-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>
要更新现有插件,请执行以下操作:
aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>
通过以下方式安装 AWS 管理控制台
-
前往 EKS 控制台 → 选择您的集群
-
点击附加组件选项卡 → 添加新
-
选择 “SageMaker 空间” 插件
-
将上面的 YAML 配置粘贴到可选配置设置中
-
点击广告
验证安装
# Check addon status aws eks describe-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --region <AWS_REGION>
自定义 ALB 属性
默认情况下,插件会创建一个公共负载均衡器以用于 Web UI。您可以使用 EKS 插件属性自定义负载均衡器属性。
要创建内部 ALB,请将方案设置为:internal
jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" # Default is "internet-facing"
您也可以使用该alb.annotations字段自定义 ALB 设置:
jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" annotations: alb.ingress.kubernetes.io/security-groups: "<SECURITY_GROUP_ID>" alb.ingress.kubernetes.io/subnets: "<SUBNET_ID_1>,<SUBNET_ID_2>" alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=60"
常见的 ALB 注释:
-
alb.ingress.kubernetes.io/security-groups:为 ALB 指定安全组 -
alb.ingress.kubernetes.io/subnets: 为 ALB 指定子网 -
alb.ingress.kubernetes.io/load-balancer-attributes:设置 ALB 属性(空闲超时、访问日志等)
有关所有可用的注释,请参阅 AWSLoad Balancer 控制器文档
插件的升级/版本控制
aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>