Prise en main de la prise en charge d’Amazon EKS dans SageMaker HyperPod
Outre les Conditions préalables à l’utilisation de SageMaker HyperPod générales relatives à SageMaker HyperPod, consultez les exigences et considérations suivantes pour orchestrer des clusters SageMaker HyperPod à l’aide d’Amazon EKS.
Important
Vous pouvez configurer la configuration des ressources pour créer des clusters SageMaker HyperPod à l’aide de la AWS Management Console et d’CloudFormation. Pour plus d’informations, consultez Création d’un cluster SageMaker HyperPod avec l’orchestration Amazon EKS et Création de clusters SageMaker HyperPod à l’aide de modèles CloudFormation.
Exigences
Note
Avant de créer un cluster HyperPod, vous avez besoin d’un cluster Amazon EKS actif configuré avec VPC et installé à l’aide de Helm.
-
Si vous utilisez la console SageMaker AI, vous pouvez créer un cluster Amazon EKS sur la page de la console du cluster HyperPod. Pour plus d’informations, consultez Création d’un cluster SageMaker HyperPod avec l’orchestration Amazon EKS.
-
Si vous utilisez l’AWS CLI, vous devez créer un cluster Amazon EKS avant de créer un cluster HyperPod auquel l’associer. Pour plus d’informations, consultez Création d’un cluster Amazon EKS dans le Guide de l’utilisateur Amazon EKS.
Lorsque vous provisionnez votre cluster Amazon EKS, tenez compte des points suivants :
-
Prise en charge des versions de Kubernetes
-
SageMaker HyperPod prend en charge les versions 1.28, 1.29, 1.30, 1.31 et 1.32 de Kubernetes.
-
-
Mode d’authentification du cluster Amazon EKS
-
Les modes d’authentification d’un cluster Amazon EKS pris en charge par SageMaker HyperPod sont
APIetAPI_AND_CONFIG_MAP.
-
-
Réseaux
-
SageMaker HyperPod nécessite la version 1.18.3 ou ultérieure du plug-in Amazon VPC Container Network Interface (CNI).
Note
Le plugin AWS VPC CNI pour Kubernetes
est la seule interface CNI prise en charge par SageMaker HyperPod. -
Le type du sous-réseau dans votre VPC doit être privé pour les clusters HyperPod.
-
-
Rôles IAM
-
Assurez-vous que les rôles IAM nécessaires pour HyperPod sont configurés comme indiqué dans la section Gestion des identités et des accès AWS pour SageMaker HyperPod.
-
-
Modules complémentaires du cluster Amazon EKS
-
Vous pouvez continuer à utiliser les différents modules complémentaires fournis par Amazon EKS tels que Kube-proxy, CoreDNS, le plug-in Amazon VPC Container Network Interface (CNI), l’identité du pod Amazon EKS, l’agent GuardDuty, le pilote Amazon FSx Container Storage Interface (CSI), le pilote CSI Mountpoint pour Amazon S3, AWS Distro pour OpenTelemetry, et l’agent CloudWatch Observability.
-
Considérations relatives à la configuration des clusters SageMaker HyperPod avec Amazon EKS
-
Vous devez utiliser des rôles IAM distincts en fonction du type de vos nœuds. Pour les nœuds HyperPod, utilisez un rôle basé sur Rôle IAM pour SageMaker HyperPod. Pour les nœuds Amazon EKS, consultez Rôle IAM de nœud Amazon EKS.
-
Vous pouvez provisionner et monter des volumes Amazon EBS supplémentaires sur les nœuds SageMaker HyperPod en utilisant deux approches : utilisez InstanceStorageConfigs pour le provisionnement de volumes au niveau du cluster (disponible lors de la création ou de la mise à jour de groupes d’instances) ou utilisez le pilote Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) pour la gestion dynamique des volumes au niveau des pods. Avec InstanceStorageConfigs, définissez le chemin local
sur /opt/sagemakerpour monter correctement les volumes sur vos pods Amazon EKS. Pour en savoir plus sur la manière de déployer le contrôleur Amazon EBS CSI sur les nœuds HyperPod, consultez Utilisation du pilote CSI Amazon EBS sur les clusters SageMaker HyperPod EKS. -
Si vous utilisez des étiquettes de type d’instance pour définir des contraintes de planification, veillez à utiliser les types d’instance ML SageMaker AI préfixés par
ml.. Par exemple, pour les instances P5, utilisezml.p5.48xlargeà la place dep5.48xlarge.
Considérations relatives à la configuration du réseau pour les clusters SageMaker HyperPod avec Amazon EKS
-
Chaque instance de cluster HyperPod prend en charge une interface réseau Elastic (ENI). Pour connaître le nombre maximal de pods par type d’instance, reportez-vous au tableau suivant.
Type d’instance Nombre maximal de pods ml.p4d.24xlarge 49 ml.p4de.24xlarge 49 ml.p5.48xlarge 49 ml.trn1.32xlarge 49 ml.trn1n.32xlarge 49 ml.g5.xlarge 14 ml.g5.2xlarge 14 ml.g5.4xlarge 29 ml.g5.8xlarge 29 ml.g5.12xlarge 49 ml.g5.16xlarge 29 ml.g5.24xlarge 49 ml.g5.48xlarge 49 ml.c5.large 9 ml.c5.xlarge 14 ml.c5.2xlarge 14 ml.c5.4xlarge 29 ml.c5.9xlarge 29 ml.c5.12xlarge 29 ml.c5.18xlarge 49 ml.c5.24xlarge 49 ml.c5n.large 9 ml.c5n.2xlarge 14 ml.c5n.4xlarge 29 ml.c5n.9xlarge 29 ml.c5n.18xlarge 49 ml.m5.large 9 ml.m5.xlarge 14 ml.m5.2xlarge 14 ml.m5.4xlarge 29 ml.m5.8xlarge 29 ml.m5.12xlarge 29 ml.m5.16xlarge 49 ml.m5.24xlarge 49 ml.t3.medium 5 ml.t3.large 11 ml.t3.xlarge 14 ml.t3.2xlarge 14 ml.g6.xlarge 14 ml.g6.2xlarge 14 ml.g6.4xlarge 29 ml.g6.8xlarge 29 ml.g6.12xlarge 29 ml.g6.16xlarge 49 ml.g6.24xlarge 49 ml.g6.48xlarge 49 ml.gr6.4xlarge 29 ml.gr6.8xlarge 29 ml.g6e.xlarge 14 ml.g6e.2xlarge 14 ml.g6e.4xlarge 29 ml.g6e.8xlarge 29 ml.g6e.12xlarge 29 ml.g6e.16xlarge 49 ml.g6e.24xlarge 49 ml.g6e.48xlarge 49 ml.p5e.48xlarge 49 -
Par défaut, seuls les pods avec
hostNetwork = trueont accès au service de métadonnées d’instance (IMDS) d’Amazon EC2. Utilisez l’identité du pod Amazon EKS ou les rôles IAM pour les comptes de service (IRSA) pour gérer l’accès aux informations d’identification AWS des pods. -
Les clusters HyperPod orchestrés par EKS prennent en charge les modes à double adressage IP, ce qui permet de configurer avec IPv4 ou IPv6 les clusters Amazon EKS IPv6 dans des VPC et des environnements de sous-réseau compatibles IPv6. Pour plus d’informations, consultez Configuration de SageMaker HyperPod avec un réseau Amazon VPC personnalisé.
Considérations relatives à l’utilisation des fonctionnalités de résilience des clusters HyperPod
-
Le remplacement automatique des nœuds n’est pas pris en charge pour les instances CPU.
-
L’agent de surveillance de l’état HyperPod doit être installé pour que la récupération automatique des nœuds fonctionne. L’agent peut être installé à l’aide de Helm. Pour plus d’informations, consultez Installation de packages sur le cluster Amazon EKS à l’aide de Helm.
-
L’agent de surveillance approfondie de l’état et de surveillance de l’état HyperPod prend en charge les instances GPU et Trn.
-
SageMaker AI applique le rejet suivant aux nœuds lorsqu’ils sont soumis à des vérifications de surveillance approfondie de l’état :
effect: NoSchedule key: sagemaker.amazonaws.com/node-health-status value: UnschedulableNote
Vous ne pouvez pas ajouter de rejets personnalisés aux nœuds des groupes d’instances lorsque
DeepHealthChecksest activé.
Une fois que votre cluster Amazon EKS est en cours d’exécution, configurez-le à l’aide du gestionnaire de packages Helm comme indiqué dans Installation de packages sur le cluster Amazon EKS à l’aide de Helm avant de créer votre cluster HyperPod.