

 **Contribuisci a migliorare questa pagina** 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub ** link ** Modifica questa pagina su che si trova nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Controllare se un carico di lavoro viene implementato sui nodi della modalità automatica di EKS
<a name="associate-workload"></a>

Quando si eseguono carichi di lavoro in un cluster EKS con la modalità automatica di EKS, potresti dover controllare se carichi di lavoro specifici vengono eseguiti su nodella modalità automatica di EKS o altri tipi di elaborazione. Questo argomento descrive come utilizzare i selettori di nodi e le regole di affinità per garantire che i carichi di lavoro siano pianificati sull’infrastruttura di elaborazione prevista.

Gli esempi in questo argomento mostrano come utilizzare l’etichetta `eks.amazonaws.com/compute-type` per richiedere o impedire l’implementazione del carico di lavoro sui nodi della modalità automatica di EKS. Ciò è particolarmente utile nei cluster a modalità mista in cui è in esecuzione sia modalità automatica di EKS che altri tipi di elaborazione, come i provisioner Karpenter autogestiti o i gruppi di nodi gestiti da EKS.

I nodi della modalità automatica di EKS hanno impostato il valore dell’etichetta da `eks.amazonaws.com/compute-type` a `auto`. Puoi utilizzare questa etichetta per controllare se un carico di lavoro viene implementato nei nodi gestiti dalla modalità automatica di EKS.

## Richiedere che un carico di lavoro sia distribuito sui nodi EKS Auto Mode
<a name="_require_that_a_workload_is_deployed_to_eks_auto_mode_nodes"></a>

**Nota**  
Questo valore `nodeSelector` non è richiesto per la modalità automatica di EKS. Questo valore `nodeSelector` è rilevante solo se si esegue un cluster in modalità mista, con tipi di nodi non gestiti dalla modalità automatica di EKS. Ad esempio, puoi avere una capacità di elaborazione statica implementata nel cluster con o gruppi di nodi gestiti da EKS e avere una capacità di elaborazione dinamica gestita dalla modalità automatica di EKS.

Puoi aggiungere questo `nodeSelector` alle implementazioni o ad altri carichi di lavoro per richiedere che Kubernetes li pianifichi sui nodi della modalità automatica di EKS.

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

## Richiede che un carico di lavoro non sia distribuito sui nodi EKS Auto Mode
<a name="_require_that_a_workload_is_not_deployed_to_eks_auto_mode_nodes"></a>

Puoi aggiungere questo `nodeAffinity` alle implementazioni o ad altri carichi di lavoro per richiedere che Kubernetes **non** li pianifichi sui nodi della modalità automatica di EKS.

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

## Scegli come target uno specifico NodePool
<a name="_target_a_specific_nodepool"></a>

Un cluster Amazon EKS Auto Mode può averne più di uno NodePool. Potresti volere che un carico di lavoro venga eseguito solo sui nodi di un determinato NodePool nodo. A tale scopo, i carichi di lavoro possono corrispondere a una delle seguenti etichette:
+  **Un'etichetta personalizzata definita in. NodePool ** Quando aggiungi etichette `spec.template.metadata.labels` in a NodePool, Amazon EKS Auto Mode applica tali etichette a tutti i nodi di cui esegue il NodePool provisioning. Le etichette personalizzate sono l'approccio consigliato. Un'etichetta personalizzata lega il carico di lavoro a una funzionalità, ad esempio`workload-class: gpu-inference`, anziché a un NodePool nome specifico.
+  **L'`karpenter.sh/nodepool`etichetta ben nota. ** Amazon EKS Auto Mode applica questa etichetta a tutti i nodi di cui esegue il provisioning, utilizzando il nome di NodePool come valore. Usa questa etichetta quando non hai definito un'etichetta personalizzata e vuoi impostarne una NodePool per nome.

### Scegli come target un' NodePool etichetta personalizzata
<a name="_target_a_custom_nodepool_label"></a>

Innanzitutto, definisci un'etichetta su NodePool.

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

Per ulteriori informazioni sulla NodePool configurazione, vedere[Crea un pool di nodi per la modalità automatica di EKS](create-node-pool.md).

Quindi, abbina l'etichetta del carico di lavoro.

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

I pod di questa pianificazione di distribuzione si limitano ai nodi di cui dispone. `gpu` NodePool I carichi di lavoro senza questa impostazione `nodeSelector` continuano a essere eseguiti sulle impostazioni predefinite. NodePool

### Scegli come target a NodePool per nome
<a name="_target_a_nodepool_by_name"></a>

**NodePool le modifiche al nome influiscono sulla pianificazione**  
Se si rinomina o si elimina la destinazione, se si aggiunge un nome a un carico di lavoro in base al nome`Pending`, i pod rimangono invariati. NodePool Usa un'etichetta di funzionalità personalizzata per qualsiasi carico di lavoro che prevedi possa durare più a lungo di una singola definizione. NodePool 

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

Per ulteriori informazioni su come Karpenter abbina i pod NodePools, consulta [ Scheduling ](https://karpenter.sh/docs/concepts/scheduling/) nella documentazione di Karpenter.