SageMaker Kubernetes 的运算符 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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 的 Oper SageMaker at ors 版本v1.2.2或更低版本,我们建议您将资源迁移到 Amazon 的ACK服务控制器。 SageMakerACK服务控制器是基于 Kubernetes 的新一代 SageMaker 运算符 Amazon 适用于 Kubernetes 的控制器 ()。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 允许用户以原生方式调用这些自定义资源并自动执行关联的工作流。

怎么样 Amazon Kubernetes () ACK 的控制器能起作用吗?

Kubernetes 的 SageMaker 运算符允许你管理 SageMaker 从 Kubernetes 集群传入的作业。最新版本的 Kubernetes SageMaker 操作符基于 Amazon 适用于 Kubernetes 的控制器 ()。ACKACK包括一个通用控制器运行时、一个代码生成器和一组 Amazon 特定于服务的控制器,其中一个是 SageMaker 控制器。

下图说明了ACK工作原理。

ACK解释了基于 Kubernetes 的 SageMaker 运算符。

在这张图中,一个 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 CreateTrainingJobAPI用在中创建训练作业 Amazon。 与通信后 SageMaker API, SageMaker 控制器调用 Kubernetes API 服务器,使用从中收到的信息更新自定义资源的状态(步骤 7)。 SageMaker因此, SageMaker 控制器向开发人员提供的信息与他们使用控制器获得的信息相同 Amazon SDK.

权限概述

操作员代表您访问 SageMaker 资源。操作员IAM扮演的与之交互的角色 Amazon 资源不同于你用于访问 Kubernetes 集群的证书。该角色也不同于以下角色 Amazon 在运行机器学习作业时假设。

下图说明了各种身份验证层。

SageMaker Kubernetes 各种身份验证层的操作员。