協助改善此頁面
想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 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如需詳細資訊,請參閱為您的叢集建立受管節點群組。
-
建立適合您工作負載的啟動範本,並與 Amazon EKS 受管節點群組搭配使用。如需詳細資訊,請參閱使用啟動範本自訂受管節點。
除了上述程序中的要求外,請確保
LaunchTemplateData
包括以下內容:-
InstanceMarketOptions
並將MarketType
設為"capacity-block"
-
CapacityReservationSpecification: CapacityReservationTarget
CapacityReservationId
設定為容量區塊 (例如:cr-
)02168da1478b509e0
-
InstanceType
設定為支援容量區塊的執行個體類型 (例如:
)p5.48xlarge
以下是範本的摘錄,該 CloudFormation 範本會建立以容量區塊為目標的啟動範本。若要建立自訂AMI受管節點群組,您也可以新增
ImageId
和UserData
參數。NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-
02168da1478b509e0
" InstanceType:p5.48xlarge
-
-
使用啟動範本建立受管理的節點群組。
以下是「容量區塊」的範例建立節點群組命令。以適用於您叢集的項目取
代。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-namemy-mng
\ --node-rolenode-role-arn
\ --regionregion-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 自動擴展使用者指南中的針對 Amazon EC2 Auto Scaling 進行排程擴展。
-
使用 Amazon EKS 主控台或
eks update-nodegroup-config
更新擴展設定並設定所需的節點群組大小。 -
使用Kubernetes叢集自動配置器。如需詳細資訊,請參閱上的叢集自動配置器
。 AWS
-
-
節點群組現在已準備就緒,可供工作負載和 Pods 進行排程。
-
為了在保Pods留結束之前優雅地排空,Amazon EKS 使用排程的擴展政策將節點群組大小縮小為。
0
此排定的縮放比例將以標題為名稱進行設定Amazon EKS Node Group Capacity Scaledown Before Reservation End
。建議您不要編輯或刪除此動作。Amazon EC2 會在預約結束時間前 30 分鐘開始關閉執行個體。因此,Amazon EKS 將在節點群組保留結束前 40 分鐘在節點群組上設定排程規模,以便安全且優雅地收回。Pods