View a markdown version of this page

Gérez les appareils EFA sur Amazon EKS - Amazon EKS

Aidez à améliorer cette page

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

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.

Gérez les appareils EFA sur Amazon EKS

L'Elastic Fabric Adapter (EFA) est un périphérique réseau pour les instances Amazon EC2 qui permet une communication inter-nœuds à hautes performances pour la formation au machine learning et les charges de travail HPC (High Performance Computing). Amazon EKS prend en charge le plug-in d'appareil EFA pour gérer les appareils EFA dans les clusters EKS.

Création de nœuds EKS avec des interfaces EFA

Lorsque vous créez des nœuds EKS avec des interfaces EFA, les interfaces EFA sont attachées lors du bootstrap de l'instance. Si vous devez personnaliser la configuration EFA par appareil ou utiliser des groupes de placement pour les instances EC2 compatibles EFA, il est recommandé d'utiliser des groupes de nœuds gérés par EKS ou des groupes de nœuds autogérés par EKS. Vous pouvez transmettre la configuration de chaque interface réseau à l'aide de modèles de lancement.

Lorsque vous utilisez le mode automatique EKS ou Karpenter avec un provisionnement dynamique, les instances créées pour les requêtes de pods vpc.amazonaws.com/efa ont toutes les interfaces configurées avec le type d'interface. EFA Le provisionnement de capacité statique en mode automatique EKS et Karpenter ne prend actuellement pas en charge la configuration EFA par appareil. EKS Auto Mode et Karpenter ne prennent actuellement pas en charge les groupes de placement.

Lors de l'utilisation eksctlpour approvisionner des nœuds EKS avec le efaEnabled paramètre, toutes les interfaces sont configurées avec le type d'interfaceEFA, un groupe de sécurité spécifique à EFA est créé et le plug-in de périphérique EFA est installé sur le cluster. Si vous devez personnaliser la configuration EFA par appareil lors de l'utilisationeksctl, il est recommandé d'utiliser le support de `eksctl pour les modèles de lancement.

Utilisation d'EKS optimisé avec AMIs EFA

L' AL2023 accélérateur optimisé pour EKS AMIs (NVIDIA et Neuron) et tous les Bottlerocket AMIs incluent les composants au niveau de l'hôte requis pour utiliser l'EFA. L'EKS AL2023 et le Bottlerocket AMIs n'incluent pas le plug-in de périphérique EFA, et le plug-in de périphérique doit être installé séparément sur votre cluster avant de déployer des charges de travail utilisant EFA.

Installez le plugin pour appareil EFA Kubernetes

Le plug-in pour appareils EFA présente les appareils EFA en tant que ressources vpc.amazonaws.com/efa étendues. Vous demandez des appareils EFA dans les demandes de ressources et les limites des conteneurs. Pour une présentation complète de la configuration d'EFA avec des charges de travail de formation, voir. Exécuter un entraînement de machine learning sur Amazon EKS avec Elastic Fabric Adapter

Le plug-in EFA alloue automatiquement les appareils EFA situés topologiquement proches des accélérateurs Neuron et des GPU NVIDIA sur l'instance EC2 physique.

Conditions préalables

  • Un cluster Amazon EKS.

  • Nœuds dotés de types d'instances Amazon EC2 compatibles avec EFA. Pour obtenir la liste des types d'instances pris en charge, consultez la section Types d'instances pris en charge dans le guide de l'utilisateur Amazon EC2.

  • Nœuds dotés de composants au niveau de l'hôte installés pour EFA. Ils sont inclus si vous utilisez l' AL2023 accélérateur EKS AMIs ou l'EKS Bottlerocket AMIs.

  • Helm installé dans votre environnement de ligne de commande, consultez les instructions de configuration de Helm pour plus d’informations.Déployez des applications avec Helm sur Amazon EKS

  • kubectlconfiguré pour communiquer avec votre cluster, voir Installer ou mettre à jour kubectl pour plus d'informations.

Procédure

  1. Ajoutez le référentiel de cartes EKS Helm.

    helm repo add eks https://aws.github.io/eks-charts
  2. Mettez à jour votre dépôt Helm local.

    helm repo update
  3. Installez le plug-in pour appareil EFA.

    helm install efa eks/aws-efa-k8s-device-plugin -n kube-system
  4. Vérifiez que le plug-in de l'appareil EFA DaemonSet est en cours d'exécution.

    kubectl get daemonset -n kube-system aws-efa-k8s-device-plugin-daemonset
    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-efa-k8s-device-plugin-daemonset 2 2 2 2 2 <none> 60s
  5. Vérifiez que vos nœuds disposent de ressources EFA allouables.

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,EFA:.status.allocatable.vpc\.amazonaws\.com/efa"
    NAME EFA ip-192-168-11-225.us-west-2.compute.internal 4 ip-192-168-24-96.us-west-2.compute.internal 4

Demandez des appareils EFA dans un Pod

Pour demander des appareils EFA à l'aide du plug-in d'appareil, spécifiez la vpc.amazonaws.com/efa ressource dans les demandes ou limites de ressources de votre conteneur.

apiVersion: v1 kind: Pod metadata: name: efa-workload spec: containers: - name: app ... resources: limits: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ... requests: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ...