Aidez à améliorer cette page
Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tous.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'un groupe de nœuds géré avec Capacity Blocks for ML
Les blocs de capacité pour l'apprentissage automatique (ML) vous permettent de réserver des GPU instances à une date future afin de prendre en charge vos charges de travail de machine learning de courte durée. Pour plus d'informations, consultez Capacity Blocks for ML dans le guide de EC2 l'utilisateur Amazon pour les instances Linux.
Considérations
Important
-
Les blocs de capacité ne sont disponibles que pour certains types d'EC2instances Amazon et Régions AWS. Pour plus d'informations sur la compatibilité, consultez les conditions préalables à l'utilisation des blocs de capacité dans le guide de EC2 l'utilisateur Amazon pour les instances Linux.
-
Pour plus d'informations, consultez la section Utiliser les blocs de capacité pour les charges de travail d'apprentissage automatique dans le guide de l'utilisateur d'Amazon EC2 Auto Scaling.
-
Les groupes de nœuds gérés avec des blocs de capacité ne peuvent être créés qu'avec des modèles de lancement personnalisés.
-
Lorsque vous mettez à niveau des groupes de nœuds gérés avec des blocs de capacité, assurez-vous que la taille souhaitée du groupe de nœuds est définie sur
0
.
Créez un groupe de nœuds gérés avec Amazon EC2 Capacity Blocks
Vous pouvez utiliser des blocs de capacité avec des groupes de nœuds EKS gérés par Amazon pour le provisionnement et le dimensionnement de nœuds de travail GPU accélérés. Les exemples de AWS CloudFormation modèles suivants ne couvrent pas tous les aspects nécessaires à un cluster de production. Généralement, vous souhaiteriez également qu'un script d'amorçage relie le nœud au cluster et spécifie l'accélérateur AmazonEKS. AMI Pour de plus amples informations, veuillez consulter Créez un groupe de nœuds gérés pour votre cluster.
-
Créez un modèle de lancement adapté à vos charges de travail et compatible avec les groupes de nœuds EKS gérés par Amazon. Pour de plus amples informations, veuillez consulter Personnalisez les nœuds gérés avec des modèles de lancement.
Outre les exigences des procédures ci-dessus, assurez-vous qu'elles
LaunchTemplateData
incluent les éléments suivants :-
InstanceMarketOptions
avecMarketType
défini sur"capacity-block"
-
CapacityReservationSpecification: CapacityReservationTarget
avecCapacityReservationId
défini sur le bloc de capacité (par exemple :cr-
)02168da1478b509e0
-
InstanceType
défini sur un type d'instance qui prend en charge les blocs de capacité (par exemple :
)p5.48xlarge
Voici un extrait d'un CloudFormation modèle qui crée un modèle de lancement ciblant un bloc de capacité. Pour créer un groupe de nœuds AMI géré personnalisé, vous pouvez également ajouter
ImageId
desUserData
paramètres.NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-
02168da1478b509e0
" InstanceType:p5.48xlarge
-
-
Utilisez le modèle de lancement pour créer un groupe de nœuds gérés.
Voici un exemple de commande de création de groupe de nœuds pour Capacity Blocks.
Remplacez-les par ceux applicables à votre cluster.example-values
Lors de la création du groupe de nœuds géré par Capacity Block, procédez comme suit :
-
Définissez
capacity-type
sur"CAPACITY_BLOCK"
. Si le type de capacité n'est pas défini sur"CAPACITY_BLOCK"
ou si l'une des autres valeurs de modèle de lancement requises ci-dessus est manquante, la demande de création sera rejetée. -
Lorsque vous spécifiez
subnets
dans la demande de création, assurez-vous de ne spécifier que le sous-réseau dans la même zone de disponibilité que la réservation de capacité. -
Si vous spécifiez une valeur différente de zéro
desiredSize
dans la demande de création, Amazon l'EKShonorera lors de la création du groupe Auto Scaling (ASG). Toutefois, si la demande de création est effectuée avant que la réservation de capacité ne soit active, les EC2 instances Amazon ASG ne pourront pas être lancées tant qu'elles ne seront pas activées. Par conséquent, les activités de ASG dimensionnement comporteront des erreurs de lancement. Chaque fois que la réservation devient active, le lancement des instances sera couronné de succès et ASG elles seront étendues à la valeurdesiredSize
mentionnée au moment de la création.
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
-
-
Assurez-vous que les nœuds se rejoignent après la mise à l'échelle. EKSLes clusters Amazon utilisant des groupes de nœuds gérés avec des blocs de capacité n'effectuent aucune validation indiquant que les instances lancées rejoignent le cluster et s'y enregistrent.
-
Si vous l'avez défini
desiredSize
0
au moment de la création, vous disposez de différentes options pour augmenter le groupe de nœuds lorsque la réservation de capacité devient active :-
Créez une politique de dimensionnement planifiée ASG qui s'aligne sur l'heure de début de la réservation du Capacity Block. Pour plus d'informations, consultez la section Scheduled Scaling for Amazon EC2 Auto Scaling dans le guide de l'utilisateur d'Amazon EC2 Auto Scaling.
-
Utilisez la EKS console Amazon ou
eks update-nodegroup-config
pour mettre à jour la configuration de dimensionnement et définir la taille souhaitée du groupe de nœuds. -
Utilisez le Kubernetes Cluster Autoscaler. Pour plus d'informations, consultez Cluster Autoscaler activé. AWS
-
-
Le groupe de nœuds est maintenant prêt à recevoir les charges de travail et à programmer Pods.
-
Pour que votre compte soit Pods correctement vidé avant la fin de la réservation, Amazon EKS utilise une politique de dimensionnement planifié pour réduire la taille du groupe de nœuds à
0
. Cette mise à l'échelle planifiée sera définie avec un nom intituléAmazon EKS Node Group Capacity Scaledown Before Reservation End
. Nous vous recommandons de ne pas modifier ou supprimer cette action.Amazon EC2 commence à fermer les instances 30 minutes avant la fin de la réservation. Par conséquent, Amazon EKS mettra en place une réduction planifiée du groupe de nœuds 40 minutes avant la fin de leur réservation afin de procéder à une expulsion Pods sûre et élégante.