

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

# Contrôle du déploiement d’une charge de travail sur les nœuds du mode automatique EKS
<a name="associate-workload"></a>

Lors de l’exécution de charges de travail dans un cluster EKS utilisant le mode automatique EKS, il peut être nécessaire de contrôler si certaines charges de travail doivent s’exécuter sur des nœuds du mode automatique EKS ou sur d’autres types de calcul. Cette section explique comment utiliser des sélecteurs de nœuds et des règles d’affinité pour garantir que vos charges de travail soient planifiées sur l’infrastructure de calcul souhaitée.

Les exemples de cette rubrique montrent comment utiliser l’étiquette `eks.amazonaws.com/compute-type` pour imposer ou empêcher le déploiement d’une charge de travail sur les nœuds du mode automatique EKS. Cette approche est particulièrement utile dans les clusters en mode mixte, où vous utilisez à la fois le mode automatique EKS et d’autres types de calcul, tels que les fournisseurs Karpenter autogérés ou les groupes de nœuds gérés par EKS.

Les nœuds du mode automatique EKS définissent l’étiquette `eks.amazonaws.com/compute-type` sur `auto`. Vous pouvez utiliser cette étiquette pour contrôler si une charge de travail est déployée sur des nœuds gérés par le mode automatique EKS.

## Exiger qu'une charge de travail soit déployée sur les nœuds EKS Auto Mode
<a name="_require_that_a_workload_is_deployed_to_eks_auto_mode_nodes"></a>

**Note**  
Cette valeur `nodeSelector` n’est pas obligatoire pour le mode automatique EKS. Cette valeur `nodeSelector` n’est pertinente que si vous exécutez un cluster en mode mixte, avec des types de nœuds non gérés par le mode automatique EKS. Par exemple, un cluster peut combiner une capacité de calcul statique fournie par les groupes de nœuds gérés par EKS et une capacité dynamique fournie par le mode automatique EKS.

Vous pouvez ajouter ce `nodeSelector` aux déploiements ou à d’autres charges de travail afin d’indiquer à Kubernetes à les planifier exclusivement sur des nœuds du mode automatique EKS.

```
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      nodeSelector:
        eks.amazonaws.com/compute-type: auto
```

## Exiger qu'aucune charge de travail ne soit déployée sur les nœuds EKS Auto Mode
<a name="_require_that_a_workload_is_not_deployed_to_eks_auto_mode_nodes"></a>

Vous pouvez ajouter ce `nodeAffinity` aux déploiements ou à d’autres charges de travail afin d’indiquer à Kubernetes de **ne pas** les planifier sur des nœuds du mode automatique EKS.

```
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: eks.amazonaws.com/compute-type
            operator: NotIn
            values:
            - auto
```

## Ciblez un objectif spécifique NodePool
<a name="_target_a_specific_nodepool"></a>

Un cluster Amazon EKS Auto Mode peut en avoir plusieurs NodePool. Vous souhaiterez peut-être qu'une charge de travail ne s'exécute que sur les nœuds d'un nœud en particulier NodePool. Pour ce faire, les charges de travail peuvent correspondre à l'une des étiquettes suivantes :
+  **Une étiquette personnalisée que vous définissez sur le NodePool. ** Lorsque vous ajoutez des étiquettes `spec.template.metadata.labels` sous un NodePool, le mode automatique Amazon EKS applique ces étiquettes à chaque nœud NodePool provisionné. Les étiquettes personnalisées constituent l'approche recommandée. Une étiquette personnalisée associe la charge de travail à une fonctionnalité, par exemple`workload-class: gpu-inference`, plutôt qu'à un NodePool nom spécifique.
+  **Le célèbre `karpenter.sh/nodepool` label. ** Amazon EKS Auto Mode applique cette étiquette à chaque nœud qu'il approvisionne, en utilisant le nom de NodePool comme valeur. Utilisez cette étiquette lorsque vous n'avez pas défini d'étiquette personnalisée et que vous souhaitez cibler une étiquette NodePool par son nom.

### Ciblez une NodePool étiquette personnalisée
<a name="_target_a_custom_nodepool_label"></a>

Tout d'abord, définissez une étiquette sur le NodePool.

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: gpu
spec:
  template:
    metadata:
      labels:
        workload-class: gpu-inference
```

Pour plus d'informations sur NodePool la configuration, consultez[Création d’un pool de nœuds pour le mode automatique EKS](create-node-pool.md).

Ensuite, faites correspondre cette étiquette à la charge de travail.

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: inference
spec:
  template:
    spec:
      nodeSelector:
        workload-class: gpu-inference
```

Les pods de ce calendrier de déploiement sont uniquement destinés aux nœuds qu'il met à `gpu` NodePool disposition. Les charges de travail qui ne le sont pas `nodeSelector` continuent de s'exécuter par défaut NodePool.

### Ciblez un NodePool par son nom
<a name="_target_a_nodepool_by_name"></a>

**NodePool les changements de nom affectent la planification**  
L'épinglage d'une charge de travail par son nom peut laisser les pods dans `Pending` cet état si vous renommez ou supprimez la cible. NodePool Utilisez une étiquette de fonctionnalité personnalisée pour toute charge de travail dont vous pensez qu'elle durera plus longtemps qu'une seule NodePool définition.

```
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      nodeSelector:
        karpenter.sh/nodepool: <your-nodepool-name>
```

Pour plus d'informations sur la façon dont Karpenter associe les pods aux pods NodePools, consultez la section [ Planification ](https://karpenter.sh/docs/concepts/scheduling/) dans la documentation de Karpenter.