本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SageMaker Kubernetes 的運算子
SageMaker Kubernetes 的運算子可讓開發人員和資料科學家更輕鬆地使用 Kubernetes 在 中訓練、調整和部署機器學習 (ML) 模型 SageMaker。您可以在 Amazon Elastic Kubernetes Service (Amazon EKS) 中的 Kubernetes 叢集上安裝這些 SageMaker 運算子,以使用 Kubernetes API和命令列 Kubernetes 工具原生建立 SageMaker 任務,例如 kubectl
。本指南說明如何設定和使用運算子從 Kubernetes 叢集執行模型訓練、超參數調校或推論 SageMaker (即時和批次)。本章中的程序和準則假設您熟悉 Kubernetes 及其基本命令。
重要
我們正在停止 Kubernetes 的 SageMaker Operators
如果您目前正在使用 版本 v1.2.2
或以下的 SageMaker Operators for Kubernetes
如需與移轉步驟相關的資訊,請參閱將資源遷移到最新的運算子。
如需 Kubernetes 原始版本 SageMaker Operators 支援結束時常見問題的解答,請參閱 宣佈 Kubernetes 運算子原始版本 SageMaker支援結束
注意
使用這些運算子無須額外收費。您透過這些運算子使用的任何 SageMaker資源都會產生費用。
什麼是運算子?
Kubernetes 運算子是一種應用程式控制器,代表 Kubernetes 使用者管理應用程式。控制平面的控制器包含聆聽中央狀態管理器 (ETCD) 以調節其控制之應用程式狀態的各種控制迴路。這類應用程式的範例包括 Cloud-controller-managerkube-controller-manager
。運算子通常會提供比原始 Kubernetes 更高的抽象層級API,讓使用者更輕鬆地部署和管理應用程式。若要將新功能新增至 Kubernetes,開發人員可以透過建立包含其應用程式特定或網域特定邏輯和元件的自訂資源API來擴展 Kubernetes。Kubernetes 中的運算子可讓使用者以原生方式調用這些自訂資源,並自動執行相關聯的工作流程。
Kubernetes (ACK) 的 AWS 控制器如何運作?
Kubernetes 的 SageMaker 運算子可讓您 SageMaker 從 Kubernetes 叢集管理 中的任務。 SageMaker Operators for Kubernetes 的最新版本是以 AWS Controllers for Kubernetes () 為基礎ACK。ACK 包括通用控制器執行期、程式碼產生器,以及一組 AWS 服務特定的控制器,其中一個是 SageMaker 控制器。
下圖說明ACK運作方式。
在此圖表中,Kubernetes 使用者想要使用 Kubernetes SageMaker ,從 Kubernetes 叢集內的 執行模型訓練API。使用者對 發出呼叫kubectl apply
,傳遞至描述 SageMaker 訓練任務的 Kubernetes 自訂資源的檔案。 會將稱為資訊清單的檔案kubectl apply
傳遞至在 Kubernetes 控制器節點中執行的 Kubernetes API 伺服器 (工作流程圖表中的步驟 1)。Kubernetes API 伺服器會收到包含 SageMaker 訓練任務規格的資訊清單,並判斷使用者是否具有建立自訂類型 資源的許可sageMaker.services.k8s.aws/TrainingJob
,以及自訂資源的格式是否正確 (步驟 2)。如果使用者獲得授權且自訂資源有效,Kubernetes API 伺服器會將自訂資源寫入 (步驟 3) 至其蝕刻的資料存放區,然後回應 (步驟 4) 已建立自訂資源的使用者。在正常 Kubernetes Pod 內容中,在 Kubernetes 工作者節點上執行的 SageMaker 控制器會收到通知 (步驟 5),告知sageMaker.services.k8s.aws/TrainingJob
已建立新的自訂資源。然後, SageMaker 控制器會與 通訊 (步驟 6) SageMaker API,呼叫 SageMaker CreateTrainingJob
API以在 中建立訓練任務 AWS。與 通訊後 SageMaker API, SageMaker 控制器會呼叫 Kubernetes API 伺服器,以更新 (步驟 7) 自訂資源的狀態,其中包含從 收到的資訊 SageMaker。因此, SageMaker 控制器會向開發人員提供與使用 時相同的資訊 AWS SDK。
權限概觀
運算子代表您存取 SageMaker 資源。運算子所擔任與 AWS 資源互動IAM的角色,與您用來存取 Kubernetes 叢集的憑證不同。此角色也與執行機器學習任務時所 AWS 擔任的角色不同。
下列影像說明了各種驗證層。