本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker Kubernetes 的运算符
SageMaker Kubernetes 的运算符使使用 Kubernetes 的开发人员和数据科学家可以更轻松地在中训练、调整和部署机器学习 (ML) 模型。 SageMaker你可以在 Amazon Elastic Kubernetes Service(亚马逊)的 Kubernetes 集群上安装这些 SageMaker 运算符,以便使用 Kubernetes 和命令行 Kubernetes 工具EKS(例如 SageMaker )在本地API创建任务。kubectl
本指南介绍如何设置和使用运算符在 Kubernetes 集群上 SageMaker 运行模型训练、超参数调整或推理(实时和批量)。本章中的过程和指南假设您熟悉 Kubernetes 及其基本命令。
重要
我们将停止对 Kubernetes SageMaker 操作
如果您当前使用的是 Kubernetes SageMaker 操作v1.2.2
或更低版本,我们建议您将资源迁移到亚马逊的ACK服务
有关迁移步骤的信息,请参阅将资源迁移到最新 Operator。
有关终止对 Kubernetes SageMaker 操作员原始版本支持的常见问题解答,请参阅 宣布终止对 Kubernetes SageMaker 操作员原始版本的支持
注意
使用这些 Operator 无需额外付费。您通过这些运营商使用的任何 SageMaker资源都会产生费用。
什么是 Operator?
Kubernetes Operator 是代表 Kubernetes 用户管理应用程序的应用程序控制器。控制平面的控制器包括各种控制回路,监听中央状态管理器 (ETCD) 以调节他们控制的应用程序的状态。此类应用程序的示例包括 C loud-controller-managerkube-controller-manager
。运算符通常提供比原始 Kubernetes 更高级别的抽象API,从而使用户可以更轻松地部署和管理应用程序。要向 Kubernetes 添加新功能,开发人员可以通过创建包含其应用程序特定或特定领域的逻辑和组件的自定义资源API来扩展 Kubernetes。Kubernetes 中的 Operator 允许用户以原生方式调用这些自定义资源并自动执行关联的工作流。
适用于 Kubernetes () ACK 的 Amazon 控制器是如何工作的?
Kubernetes 的 SageMaker 运算符允许你管理 SageMaker 从 Kubernetes 集群传入的作业。最新版本的 Kubernetes SageMaker 操作员基于适用于 Kubernetes 的 Amazon 控制器 ()。ACKACK包括一个通用控制器运行时、一个代码生成器和一组 Amazon 特定于服务的控制器,其中一个是 SageMaker 控制器。
下图说明了ACK工作原理。
在这张图中,一个 Kubernetes 用户想要使用 Kubernetes 在 Kubernetes 集群 SageMaker 中运行模型训练。API用户向发出调用kubectl
apply
,传入一个描述描述训练作业的 Kubernetes 自定义资源的文件。 SageMaker kubectl apply
将这个名为清单的文件传递给在 Kubernetes 控制器节点中运行的 Kubernetes API 服务器(工作流程图中的步骤 1)。Kubernetes API 服务器接收包含 SageMaker 训练作业规范的清单,并确定用户是否有权创建此类自定义资源sageMaker.services.k8s.aws/TrainingJob
,以及自定义资源的格式是否正确(步骤 2)。如果用户已获得授权且自定义资源有效,则 Kubernetes API 服务器会将自定义资源写入其 etcd 数据存储(步骤 3),然后向用户做出响应(步骤 4),告知自定义资源已创建。 SageMaker 控制器在普通 Kubernetes Pod 环境下的 Kubernetes 工作节点上运行,它会收到通知(步骤 5),告知已经创建了一个新的自定义资源。sageMaker.services.k8s.aws/TrainingJob
然后, SageMaker 控制器与通信(步骤 6) SageMaker API,调 SageMaker CreateTrainingJob
API用在中 Amazon创建训练作业。与通信后 SageMaker API, SageMaker 控制器调用 Kubernetes API 服务器,使用从中收到的信息更新自定义资源的状态(步骤 7)。 SageMaker因此, SageMaker 控制器向开发人员提供的信息与他们使用控制器收到的信息相同 Amazon SDK。
权限概述
操作员代表您访问 SageMaker 资源。操作员IAM扮演的与 Amazon 资源交互的角色不同于您用于访问 Kubernetes 集群的证书。该角色也不同于运行机器学习作业时所 Amazon 扮演的角色。
下图说明了各种身份验证层。