本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 ML 的容量區塊建立受管節點群組
機器學習 (ML) 的容量區塊可讓您在未來日期保留 GPU 執行個體,以支援您的短期 ML 工作負載。如需詳細資訊,請參閱 Amazon EC2 Linux 執行個體使用者指南中的 ML 的容量區塊。
考量事項
重要
-
容量區塊僅適用於特定 Amazon EC2 執行個體類型和 AWS 區域。如需相容性資訊,請參閱適用於 Linux 執行個體的 Amazon EC2 使用者指南中的使用容量區塊先決條件。
-
如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的使用機器學習工作負載的容量區塊。
-
具有容量區塊的受管節點群組只能使用自訂啟動範本建立。
-
使用容量區塊升級受管節點群組時,請確定所需的節點群組大小設定為
0
。
使用 Amazon EC2 容量區塊建立受管節點群組
您可以使用容量區塊搭配 Amazon EKS 受管節點群組,來佈建和擴展 GPU 加速的工作者節點。以下 AWS CloudFormation 範本範例並未涵蓋生產叢集所需的每個層面。一般而言,您也需要引導指令碼將節點加入叢集,並指定 Amazon EKS 加速 AMI。如需詳細資訊,請參閱為您的叢集建立受管節點群組。
-
建立適合您工作負載的啟動範本,並使用 Amazon EKS 受管節點群組。如需詳細資訊,請參閱使用啟動範本自訂受管節點。
除了上述程序的要求之外,請確定
LaunchTemplateData
包含下列項目:-
InstanceMarketOptions
並將MarketType
設為"capacity-block"
-
CapacityReservationSpecification: CapacityReservationTarget
將CapacityReservationId
設定為容量區塊cr-
(例如:)02168da1478b509e0
-
InstanceType
設定為支援容量區塊的執行個體類型 (例如:p5.48xlarge
)以下是 a CloudFormation 範本的摘錄,該範本會建立以容量區塊為目標的啟動範本。若要建立自訂 AMI 受管節點群組,您也可以新增
ImageId
和UserData
參數。NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-02168da1478b509e0" InstanceType: p5.48xlarge
-
-
使用啟動範本建立受管節點群組。
以下是為容量區塊建立節點群組命令的範例。Replace (取代)
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
-
-
請確保節點在擴展後聯結。使用具有容量區塊的受管節點群組的 Amazon EKS 叢集不會執行執行個體實際加入叢集並註冊的任何驗證。
-
如果您在
0
建立時間desiredSize
將 設定為 ,則當容量保留變為作用中時,您有不同的選項可以擴展節點群組:-
為 ASG 建立與容量區塊保留開始時間一致的排程擴展政策。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的 Amazon Word Auto Scaling 的排程擴展。 EC2 Auto Scaling
-
使用 Amazon EKS 主控台或
eks update-nodegroup-config
更新擴展組態,並設定節點群組的所需大小。 -
使用 Kubernetes Cluster Autoscaler。如需詳細資訊,請參閱開啟叢集自動擴展器 AWS
。
-
-
節點群組現已準備好用於工作負載和 Pods 要排程。
-
為了讓您的 Pods 若要在保留結束前正常耗盡,Amazon EKS 會使用排程的擴展政策,將節點群組大小縮減為
0
。此排程擴展將設定為名為Amazon EKS Node Group Capacity Scaledown Before Reservation End
的名稱。建議您不要編輯或刪除此動作。Amazon EC2 會在保留結束時間前 30 分鐘開始關閉執行個體。因此,Amazon EKS 將在節點群組的保留結束前 40 分鐘設定排程縮減規模,以安全且正常地清除 Pods.