Prise en main de la prise en charge d’Amazon EKS dans SageMaker HyperPod - Amazon SageMaker AI

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.

Lorsque vous provisionnez votre cluster Amazon EKS, tenez compte des points suivants :

  1. 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.

  2. Mode d’authentification du cluster Amazon EKS

    • Les modes d’authentification d’un cluster Amazon EKS pris en charge par SageMaker HyperPod sont API et API_AND_CONFIG_MAP.

  3. 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.

  4. Rôles IAM

  5. 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/sagemaker pour 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, utilisez ml.p5.48xlarge à la place de p5.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 = true ont 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: Unschedulable
    Note

    Vous ne pouvez pas ajouter de rejets personnalisés aux nœuds des groupes d’instances lorsque DeepHealthChecks est 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.