

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

# Crea un pool di nodi per la modalità automatica di EKS
<a name="create-node-pool"></a>

I pool di nodi Amazon EKS forniscono un modo flessibile per gestire le risorse di calcolo nel cluster Kubernetes. Questo argomento mostra come creare e configurare pool di nodi usando Karpenter, uno strumento di provisioning dei nodi che aiuta a ottimizzare il dimensionamento dei cluster e l’utilizzo delle risorse. Con la NodePool risorsa di Karpenter, puoi definire requisiti specifici per le tue risorse di calcolo, inclusi tipi di istanze, zone di disponibilità, architetture e tipi di capacità.

Non è possibile modificare il `system` integrato e i pool di nodi `general-purpose`. È solo possibile abilitarli o disabilitarli. Per ulteriori informazioni, consulta [Attivazione o disattivazione della funzionalità integrata NodePools](set-builtin-node-pools.md).

Le NodePool specifiche consentono un controllo granulare delle risorse di elaborazione del cluster EKS attraverso varie etichette e requisiti supportati. Queste includono opzioni per specificare le categorie di istanze EC2, le configurazioni della CPU, le zone di disponibilità, le architetture () e i tipi di capacità (spot o ARM64/AMD64 on-demand). È inoltre possibile impostare limiti di risorse per l’utilizzo della CPU e della memoria, garantendo che il cluster rimanga entro i limiti operativi richiesti.

La modalità automatica di EKS sfrutta le note etichette Kubernetes per offrire metodi coerenti e standardizzati di identificazione delle caratteristiche dei nodi. Queste etichette, come `topology.kubernetes.io/zone` per le zone di disponibilità e `kubernetes.io/arch` per l’architettura della CPU, seguono le convenzioni stabilite da Kubernetes. Inoltre, EKS-specific le etichette (con il prefisso`eks.amazonaws.com/`) estendono questa funzionalità con attributi AWS specifici come tipi di istanze, produttori di CPU, funzionalità GPU e specifiche di rete. Questo sistema di etichettatura standardizzato consente una perfetta integrazione con gli strumenti Kubernetes esistenti, fornendo al contempo una profonda integrazione dell'infrastruttura. AWS 

## Crea un NodePool
<a name="_create_a_nodepool"></a>

Segui questi passaggi per creare un NodePool cluster Amazon EKS:

1. Crea un file YAML denominato `nodepool.yaml` con la configurazione richiesta. NodePool Puoi utilizzare la configurazione di esempio seguente.

1. Applicalo NodePool al tuo cluster:

   ```
   kubectl apply -f nodepool.yaml
   ```

1. Verifica che sia NodePool stato creato correttamente:

   ```
   kubectl get nodepools
   ```

1. (Facoltativo) Monitora lo NodePool stato:

   ```
   kubectl describe nodepool default
   ```

Assicurati che i NodePool riferimenti NodeClass siano validi e presenti nel cluster. NodeClass Definisce AWS configurazioni specifiche per le tue risorse di calcolo. Per ulteriori informazioni, consulta [Creazione di una classe di nodi per Amazon EKS](create-node-class.md).

## Esempio NodePool
<a name="_sample_nodepool"></a>

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: my-node-pool
spec:
  template:
    metadata:
      labels:
        billing-team: my-team
    spec:
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default

      requirements:
        - key: "eks.amazonaws.com/instance-category"
          operator: In
          values: ["c", "m", "r"]
        - key: "eks.amazonaws.com/instance-cpu"
          operator: In
          values: ["4", "8", "16", "32"]
        - key: "topology.kubernetes.io/zone"
          operator: In
          values: ["us-west-2a", "us-west-2b"]
        - key: "kubernetes.io/arch"
          operator: In
          values: ["arm64", "amd64"]

  limits:
    cpu: "1000"
    memory: 1000Gi
```

## Etichette supportate dalla modalità automatica di EKS
<a name="auto-supported-labels"></a>

La modalità automatica di EKS supporta le seguenti etichette note.

**Nota**  
La modalità automatica di EKS utilizza etichette diverse rispetto a Karpenter. Le etichette relative alle istanze gestite da EC2 iniziano con `eks.amazonaws.com`.


| Etichetta | Esempio | Description | 
| --- | --- | --- | 
| topologia.kubernetes. io/zone | us-east-2a |  AWS regione | 
| nodo.kubernetes. io/instance-tipo | g4dn.8xlarge |  AWS tipo di istanza | 
| kubernetes. io/arch | amd64 | Le architetture sono definite dai [valori GOARCH](https://github.com/golang/go/blob/master/src/internal/syslist/syslist.go#L58) sull’istanza | 
| falegname. sh/capacity-tipo | spot | I tipi di capacità includono `spot`, `on-demand`  | 
| es. amazonaws. com/instance-hypervisor | nitro | Tipi di istanze che usano un hypervisor specifico | 
| es. amazonaws. com/compute-tipo | auto | Identifica i nodi gestiti dalla modalità automatica di EKS | 
| es. amazonaws. com/instance-crittografia in transito supportata | true | Tipi di istanza che supportano (o non supportano) la crittografia in transito | 
| es. amazonaws. com/instance-categoria | g | Tipi di istanza della stessa categoria, in genere la stringa che precede il numero di generazione | 
| es. amazonaws. com/instance-generazione | 4 | Numero di generazione del tipo di istanza in una categoria di istanza | 
| es. amazonaws. com/instance-famiglia | g4dn | Tipi di istanza con proprietà simili ma quantità di risorse differenti | 
| es. amazonaws. com/instance-taglia | 8xlarge | Tipi di istanza con quantità di risorse simili ma proprietà differenti | 
| es. amazonaws. com/instance-cpu | 32 | Numero di CPU sull’istanza | 
| es. amazonaws. com/instance-cpu-produttore |  `aws`  | Nome del produttore della CPU | 
| es. amazonaws. com/instance-memoria | 131072 | Numero di mebibyte di memoria sull’istanza | 
| es. amazonaws. com/instance-ebs-larghezza di banda | 9500 | Numero [massimo di megabit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#ebs-optimization-performance) di EBS disponibili sull’istanza | 
| es. amazonaws. com/instance-larghezza di banda di rete | 131072 | Numero di [megabit di base](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) disponibili sull’istanza | 
| es. amazonaws. com/instance-nome-gpu | t4 | Nome della GPU nell’istanza, se disponibile | 
| es. amazonaws. com/instance-gpu-produttore | nvidia | Nome del produttore della GPU | 
| es. amazonaws. com/instance-gpu-count | 1 | Numero di GPU nell’istanza | 
| es. amazonaws. com/instance-gpu-memoria | 16384 | Numero di mebibyte di memoria sulla GPU | 
| es. amazonaws. com/instance-local-nvme | 900 | Gibibyte di storage nvme locale nell’istanza | 

**Nota**  
La modalità automatica di EKS supporta solo certe istanze e prevede dei requisiti minimi di dimensione. Per ulteriori informazioni, consulta [Riferimento all’istanza supportata dalla modalità automatica EKS](automode-learn-instances.md#auto-supported-instances).

## Etichette non supportate dalla modalità automatica di EKS
<a name="_eks_auto_mode_not_supported_labels"></a>

La modalità automatica di EKS non supporta le seguenti etichette.
+ La modalità automatica di EKS supporta soltanto Linux
  +  `node.kubernetes.io/windows-build` 
  +  `kubernetes.io/os` 

## Disattivare i pool di nodi integrati
<a name="_disable_built_in_node_pools"></a>

Se crei pool di nodi personalizzati, puoi disattivare i pool di nodi integrati. Per ulteriori informazioni, consulta [Attivazione o disattivazione della funzionalità integrata NodePools](set-builtin-node-pools.md).

## Cluster senza pool di nodi integrati
<a name="_cluster_without_built_in_node_pools"></a>

Puoi creare un cluster senza pool di nodi integrati. È utile quando l’organizzazione ha creato pool di nodi personalizzati.

**Nota**  
Quando si crea un cluster senza pool di nodi integrati, il provisioning non viene eseguito automaticamente. `default` NodeClass Dovrai crearne uno personalizzato NodeClass. Per ulteriori informazioni, consulta [Creazione di una classe di nodi per Amazon EKS](create-node-class.md).

 **Panoramica:** 

1. Crea un cluster EKS con i valori `nodePools` e `nodeRoleArn` vuoti.
   + Esempio eksctl `autoModeConfig`:

     ```
     autoModeConfig:
       enabled: true
       nodePools: []
       # Do not set a nodeRoleARN
     ```

     Per ulteriori informazioni, consulta [Crea un cluster della modalità automatica di EKS con la CLI di eksctl](automode-get-started-eksctl.md) 

1. Crea una classe di nodi personalizzata con un ruolo del nodo ARN
   + Per ulteriori informazioni, consulta [Creazione di una classe di nodi per Amazon EKS](create-node-class.md) 

1. Crea una voce di accesso per la classe di nodi personalizzata
   + Per ulteriori informazioni, consulta [Creazione di una voce di accesso alla classe di nodi](create-node-class.md#auto-node-access-entry) 

1. Crea un pool di nodi personalizzato come descritto sopra.

## Interruzione
<a name="_disruption"></a>

Puoi configurare la modalità automatica EKS per interrompere i nodi tramite i tuoi NodePool in diversi modi. Puoi usare `spec.disruption.consolidationPolicy`, `spec.disruption.consolidateAfter` o `spec.template.spec.expireAfter`. Puoi anche limitare l'interruzione della modalità automatica EKS attraverso gli NodePool anni '80. `spec.disruption.budgets` Puoi inoltre controllare le finestre temporali e il numero di nodi simultanei interrotti. Per istruzioni sulla configurazione di questo comportamento, consulta la pagina [Disruption](https://karpenter.sh/docs/concepts/disruption/) nella documentazione di Karpenter.

Puoi configurare l’interruzione per i pool di nodi per:
+ Identifica le istanze sottoutilizzate e consolida i carichi di lavoro.
+ Crea un budget per le interruzioni dei pool di nodi per limitare le interruzioni dei nodi causate da deviazioni, vuoto e consolidamento.

Per impostazione predefinita, la modalità automatica di EKS:
+ Consolida le istanze sottoutilizzate.
+ Termina le istanze dopo 336 ore.
+ Imposta un budget unico per le interruzioni pari al 10% dei nodi.
+ Permette la sostituzione dei nodi a causa della deriva quando viene rilasciata una nuova AMI in Auto Mode, cosa che avviene circa una volta alla settimana.

## Periodo di tolleranza della terminazione
<a name="_termination_grace_period"></a>

Quando a non `terminationGracePeriod` è definito in modo esplicito in una modalità automatica EKS NodePool, il sistema applica automaticamente un periodo di tolleranza di terminazione predefinito di 24 ore alla modalità associata. NodeClaim Sebbene i clienti di EKS Auto Mode non vedano un `terminationGracePeriod` valore predefinito nelle loro NodePool configurazioni personalizzate, osserveranno questo valore predefinito su. NodeClaim La funzionalità rimane coerente indipendentemente dal fatto che il periodo di prova sia impostato esplicitamente su NodePool o predefinito su NodeClaim, garantendo un comportamento prevedibile di terminazione dei nodi in tutto il cluster.