安裝 SageMaker AI Spaces 附加元件 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安裝 SageMaker AI Spaces 附加元件

相依性

Amazon EKS Pod Identity Agent 附加元件

  • 運算子取得AWS登入資料時需要

  • 通常預先安裝在大多數 EKS 叢集上

  • 安裝:透過 EKS 附加元件

Cert-manager

  • TLS 憑證管理的必要項目

  • 如果使用 HyperPod 快速叢集建立,則預先安裝

  • 安裝:透過 EKS 附加元件

EBS CSI 驅動程式

  • 空間持久性儲存 (EBS 磁碟區) 的必要項目

  • 使用 SageMaker 主控台安裝時自動安裝

  • 需要具有 AmazonEBSCSIDriverPolicy + HyperPod 特定許可的 IAM 角色

  • 安裝:透過 EKS 附加元件。不過,請務必依照指南安裝 HyperPod 所需的其他許可。

  • 參考:在 HyperPod 上使用 Amazon EBS CSI 驅動程式

WebUI Access 的其他相依性

AWSLoad Balancer控制器

外部 DNS

  • 使用自訂網域進行 WebUI 存取時需要

  • 自動管理 Route53 DNS 記錄

  • 需要具有 Route53 許可的 IAM 角色

  • 安裝:透過 EKS 附加元件

安裝

開始之前,請確定您已:

  • 具有至少一個執行 Kubernetes 1.30 版或更新版本之工作者節點的作用中 SageMaker HyperPod 叢集

  • 至少一個具有最低執行個體類型的工作者節點 (XX vCPU、YY GiB 記憶體)

安裝 Amazon SageMaker Spaces 附加元件

您可以使用預設設定的快速安裝或進階組態的自訂安裝來安裝 SageMaker Spaces 附加元件。

快速安裝

  1. 開啟位在 https://console.aws.amazon.com/sagemaker/ 的 Amazon SageMaker 主控台。

  2. 從叢集清單中選擇您的叢集。

  3. 在 IDE 和筆記本索引標籤上,尋找 Amazon SageMaker Spaces,然後選擇快速安裝。

自動快速安裝:

  • 建立附加元件所需的 IAM 角色

  • 使用 Systems Manager 所需的 IAM 角色啟用遠端存取模式

  • 安裝附加元件並設定 Pod 身分關聯

自訂安裝

  1. 開啟位在 https://console.aws.amazon.com/sagemaker/ 的 Amazon SageMaker 主控台。

  2. 從叢集清單中選擇您的叢集。

  3. 在 IDE 和筆記本索引標籤上,尋找 Amazon SageMaker Spaces,然後選擇自訂安裝。

  4. 設定以下選項:

    附加元件所需的 IAM 角色

    • 選擇是否建立具有建議許可的新 IAM 角色,或使用具有必要許可的現有角色 (請參閱上述管理員許可設定一節)

    遠端存取組態

    • 啟用以允許使用者使用 AWSSystems Manager 從本機 Visual Studio 程式碼連線到空格

    • 對於 SSM 受管執行個體角色:

      • 建立新角色 – 附加元件會建立和管理具有必要 Systems Manager 許可的角色

      • 使用現有角色 – 選取具有必要 Systems Manager 許可的預先設定角色

    • 確保 Spaces 附加元件執行角色具有 SSM 受管執行個體角色的 PassRole 許可

    注意

    啟用遠端存取會啟用 AWSSystems Manager advanced-instances 方案,以支付每個執行個體的額外費用。如需定價資訊,請參閱 Systems Manager 定價。

    Web 瀏覽器存取組態

    • 啟用以允許使用者使用 Route 53 DNS 和 SSL 憑證透過 Web 瀏覽器存取空間

    • 先決條件:在啟用瀏覽器存取之前安裝AWSLoad Balancer控制器

    • Route 53 託管區域:選取現有區域或選擇建立託管區域

    • 子網域:輸入子網域字首 (僅限英數字元和連字號,最多 63 個字元)

    • SSL 憑證:

      • 建立新的憑證 – 使用 Route 53 DNS 記錄從 AWSCertificate Manager 自動請求和驗證

      • 使用現有憑證 – 從 AWSCertificate Manager 選取 SSL 憑證

    • 權杖簽署金鑰:選取用於 JWT 權杖簽署的 AWSKMS 非對稱金鑰,或選擇建立簽署金鑰

    注意

    標準 Route 53 費用適用於託管區域和 DNS 查詢。如需定價資訊,請參閱 Route 53 定價。

EKS 附加元件安裝 - Jupyter K8s 搭配 WebUI

組態檔案

建立 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 管理主控台
  1. 前往 EKS 主控台 → 選取您的叢集

  2. 按一下附加元件索引標籤 → 新增

  3. 選取 SageMaker Spaces 附加元件

  4. 選用組態設定中貼上上述 YAML 組態

  5. 按一下廣告

驗證安裝
# 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>