本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 E SageMaker HyperPod KS 集群上使用 Amazon EBS CSI 驱动程序
SageMaker HyperPod 支持 Amazon Elastic Block Store (Amazon EBS) 容器存储接口 (CSI) 驱动程序,该驱动程序管理亚马逊 EBS 卷的生命周期,将其作为您创建的 Kubernetes 卷的存储。借助 Amazon EBS CSI 驱动程序,您可以使用 Amazon EKS 编排为在 SageMaker HyperPod 集群上运行的机器学习工作负载创建、附加和管理您的 Amazon EBS 卷。
密钥存储功能
上的 Amazon EBS CSI 驱动程序 SageMaker HyperPod 支持以下存储功能。
-
静态预调配:将预先创建的 Amazon EBS 卷与 Kubernetes 持久性卷
关联起来,以便在容器组(pod)中使用。 -
动态预调配:自动从
PersistentVolumeClaims中创建 Amazon EBS 卷以及关联的持久性卷。可以通过 StorageClass传递参数来精细控制卷创建过程。 -
卷大小调整:通过更新
PersistentVolumeClaims大小规格来扩展现有卷,而不中断正在运行的工作负载。这对于应对不断增长的模型存储库,或是在不中断服务的情况下适配更大规模的节点而言,可能至关重要。 -
卷快照:创建卷的 point-in-time快照,用于备份、恢复和数据版本控制。
-
块卷:为需要直接访问存储的高性能应用程序提供原始块设备访问权限。
-
卷修改:使用卷属性类
更改卷属性,例如类型、每秒进行读写操作的次数(IOPS)或吞吐量。
有关 Amazon EBS CSI 驱动程序的更多信息,请参阅《Amazon EKS 用户指南》中的将 Kubernetes 卷存储与 Amazon EBS 结合使用。
有关集群中容器组(pod)的存储的更多信息,请参阅 Kubernetes 文档中的存储
使用案例
Amazon EBS CSI 驱动程序集成为 EKS 集群上的训练和推理工作负载提供了多个关键用例 SageMaker HyperPod 。
训练工作负载
-
数据集存储:为训练数据集预调配卷,这些数据集在容器组(pod)重启后仍保留。
-
检查点存储:保存模型检查点和训练中间结果
-
共享构件:访问多个训练作业中的常用数据集和模型构件
推理工作负载
-
模型存储:根据模型要求动态预调配大小合适的卷
-
容器缓存:创建临时存储以提升推理性能
-
事件日志记录:使用持久性存储来存储推理结果和日志
在 E SageMaker HyperPod KS 集群上设置 Amazon EBS CSI 驱动程序
Amazon Elastic Block Store (Amazon EBS) 容器存储接口 (CSI) 驱动程序允许您通过 EKS 编排为在集群上运行的容器化工作负载动态配置和管理 Amazon EBS 卷。 SageMaker HyperPod 此部分将演练如何安装和配置 Amazon EBS CSI 驱动程序,以便为机器学习工作负载启用持久性存储。
先决条件
开始之前,请执行以下操作:
-
安装 Amazon EBS CSI 驱动程序版本 v1.47.0
其他权限
要设置 Amazon EBS CSI 驱动程序附加组件,请按照《Amazon EKS 用户指南》中将 Kubernetes 卷存储与 Amazon EBS 结合使用中的说明进行操作。您还应向用于运行驱动程序附加组件的 IAM 角色添加以下额外权限。请注意,这是在您的服务账户配置中为驱动程序插件指定的 IAM 角色,而不是 HyperPod 集群执行角色。
使用 APIs
或者,您可以使用AttachClusterNodeVolume和 DetachClusterNodeVolumeAPI 操作将您的 Amazon EBS 卷附加和分离到 EKS 集群实 SageMaker HyperPod 例。
使用它们的主要要求 APIs 包括以下内容。
-
Amazon EBS 卷和 E SageMaker HyperPod KS 集群必须由同一个AWS 账户群集拥有。
-
调用主体需要特定的最低权限才能成功执行附加或分离操作。有关最低权限的更多信息,请参阅以下各部分。
-
将卷连接到节点后,请按照访问群集 HyperPod 节点访问 SageMaker HyperPod 群集节点中的说明进行操作,并按照使卷可用于挂载连接的卷中的说明进行操作。
sagemaker:AttachClusterNodeVolume所需的权限
sagemaker:DetachClusterNodeVolume所需的权限
AWS KMS密钥所需的权限
只有当您使用客户托管的 KMS 密钥加密连接到 HyperPod集群节点的 Amazon EBS 卷时,才需要添加以下AWS KMS权限。如果您使用的是 AWS 托管 KMS 密钥(默认加密选项),则不需要这些权限。
注意
分离使用客户托管 KMS 密钥加密的集群自动卷附件 (CAVA) 卷sagemaker:DetachClusterNodeVolume时,不需要这些AWS KMS权限。