使用 ML 的容量區塊建立受管理的節點群組 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

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

使用 ML 的容量區塊建立受管理的節點群組

機器學習 (ML) 的容量區塊可讓您在 future 的日期預留GPU執行個體,以支援短時間 ML 工作負載。如需詳細資訊,請參閱 Amazon Linux 執行個體EC2使用者指南中的 ML 容量區塊

考量事項

重要
  • 容量區塊僅適用於特定 Amazon EC2 執行個體類型和 AWS 區域。如需相容性資訊,請參閱 Amazon Linux 執行個體EC2使用者指南中的使用容量區塊先決條件

  • 如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的機器學習工作負載使用容量區塊

  • 具有容量區塊的受管節點群組只能使用自訂啟動範本建立。

  • 使用容量區塊升級受管理的節點群組時,請確定節點群組的所需大小已設定為0

使用 Amazon EC2 容量區塊建立受管節點群組

您可以將容量區塊與 Amazon EKS 受管節點群組搭配使用,以佈建和擴展GPU加速工作者節點。接下來的 AWS CloudFormation 範本範例並不涵蓋生產叢集中所需的每個層面。通常,您還希望啟動載入指令碼將節點加入叢集並指定 Amazon EKS 加速。AMI如需詳細資訊,請參閱為您的叢集建立受管節點群組

  1. 建立適合您工作負載的啟動範本,並與 Amazon EKS 受管節點群組搭配使用。如需詳細資訊,請參閱使用啟動範本自訂受管節點

    除了上述程序中的要求外,請確保LaunchTemplateData包括以下內容:

    • InstanceMarketOptions 並將 MarketType 設為 "capacity-block"

    • CapacityReservationSpecification: CapacityReservationTargetCapacityReservationId設定為容量區塊 (例如:cr-02168da1478b509e0)

    • InstanceType設定為支援容量區塊的執行個體類型 (例如:p5.48xlarge)

    以下是範本的摘錄,該 CloudFormation 範本會建立以容量區塊為目標的啟動範本。若要建立自訂AMI受管節點群組,您也可以新增ImageIdUserData參數。

    NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-02168da1478b509e0" InstanceType: p5.48xlarge
  2. 使用啟動範本建立受管理的節點群組。

    以下是「容量區塊」的範例建立節點群組命令。以適用於您叢集的項目取example-values代。

    建立容量區塊受管理的節點群組時,請執行下列動作:

    • capacity-type 設定為 "CAPACITY_BLOCK"。如果容量類型未設定為"CAPACITY_BLOCK"或遺失上述任何其他必要啟動範本值,則會拒絕建立要求。

    • 在建立要求subnets中指定時,請確定僅在相同可用區域中指定子網路作為容量保留。

    • 如果您在建立請求desiredSize中指定非零值,Amazon EKS 會在建立 Auto Scaling 群組 (ASG) 時遵守這一點。但是,如果建立請求是在容量保留作用中之前提出的ASG,則在啟動後才能啟動 Amazon EC2 執行個體。因此,ASG擴展活動將會出現啟動錯誤。每當保留項目變成使用中狀態時,執行個體的啟動就ASG會成功,而且會在建立時擴充至上desiredSize述的。

    aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-mng \ --node-role node-role-arn \ --region region-code \ --subnets subnet-id \ --scaling-config minSize=node-group-min-size,maxSize=node-group-max-size,desiredSize=node-group-desired-size \ --capacity-type "CAPACITY_BLOCK" \ --launch-template id="lt-id",version=1
  3. 請確定節點在擴充之後連接。使用具有容量區塊的受管節點群組的 Amazon EKS 叢集不會執行啟動的執行個體實際加入並向叢集註冊的任何驗證。

  4. 如果您0在建立時設定desiredSize為,則當容量保留變為作用中時,您可以使用不同的選項來擴充節點群組:

  5. 節點群組現在已準備就緒,可供工作負載和 Pods 進行排程。

  6. 為了在保Pods留結束之前優雅地排空,Amazon EKS 使用排程的擴展政策將節點群組大小縮小為。0此排定的縮放比例將以標題為名稱進行設定Amazon EKS Node Group Capacity Scaledown Before Reservation End。建議您不要編輯或刪除此動作。

    Amazon EC2 會在預約結束時間前 30 分鐘開始關閉執行個體。因此,Amazon EKS 將在節點群組保留結束前 40 分鐘在節點群組上設定排程規模,以便安全且優雅地收回。Pods