

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

# Lavori paralleli multinodo su Amazon EKS
<a name="mnp-eks-jobs"></a>

Puoi utilizzarlo AWS Batch su Amazon Elastic Kubernetes Service per eseguire processi paralleli a più nodi (MNP) (noti anche *come* pianificazione di gruppo) sui cluster gestiti. Kubernetes Questa opzione viene comunemente utilizzata per lavori di grandi dimensioni, strettamente accoppiati e ad alte prestazioni che non possono essere eseguiti su una singola istanza di Amazon Elastic Compute Cloud. Per ulteriori informazioni, consulta [Lavori paralleli multinodo](multi-node-parallel-jobs.md).

Puoi utilizzare questa funzionalità per eseguire applicazioni di elaborazione ad alte prestazioni gestite e Kubernetes specifiche di Amazon EKS, formazione su modelli linguistici di grandi dimensioni e altri lavori di intelligenza artificiale (AI) /machine learning (ML).

**Topics**
+ [Esecuzione di processi MNP](mnp-eks-running-mnp-jobs.md)
+ [Crea una definizione di processo Amazon EKS MNP](mnp-eks-create-eks-mnp-job-definition.md)
+ [Invia un lavoro Amazon EKS MNP](mnp-eks-submit-eks-mnp-job.md)
+ [Sostituisci una definizione di processo MNP di Amazon EKS](mnp-eks-override-eks-mnp-job-definition.md)

# Esecuzione di processi MNP
<a name="mnp-eks-running-mnp-jobs"></a>

AWS Batch supporta i lavori MNP su Amazon Elastic Container Service e Amazon EKS utilizzando Amazon EC2. Di seguito vengono fornite ulteriori informazioni sui parametri dell'istanza e del contenitore per la funzionalità.

## Quote di istanze per MNP su Amazon EKS
<a name="mnp-eks-instance-quotas"></a>
+ È possibile utilizzare fino a 1000 istanze per un singolo processo MNP.
+ Fino a 5000 istanze possono unirsi a un singolo cluster Amazon EKS.
+ È possibile raggruppare e collegare fino a 5 ambienti di elaborazione in cluster a una coda di lavoro.

Ad esempio, è possibile scalare fino a 5 ambienti di elaborazione in cluster in una coda di lavoro e 1000 istanze in ogni ambiente di elaborazione.

Oltre ai parametri dell'istanza, è importante notare che non è possibile utilizzare i lavori Fargate for MNP tramite nessuno dei due servizi. 

È possibile utilizzare un solo tipo di istanza in ogni job MNP. È possibile modificare il tipo di istanza aggiornando l'ambiente di calcolo o quando si definisce un nuovo ambiente di calcolo. È inoltre possibile specificare il tipo di istanza e fornire i requisiti di vCPU e memoria durante la creazione della definizione del processo.

## Quote di container per MNP su Amazon EKS
<a name="mnp-eks-container-quotas"></a>
+ Un job parallelo multinodo supporta un pod per nodo.
+ Fino a 10 contenitori (o 10 contenitori init). Per ulteriori informazioni, consulta [Init Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) nella *documentazione di Kubernetes.) in ogni pod*. 
+ Fino a 5 intervalli di nodi in ogni job MNP.
+ Fino a 10 immagini di contenitori distinte in ogni intervallo di nodi.

Ad esempio, è possibile eseguire fino a un massimo di 10.000 container in un singolo processo MNP che contiene 5 intervalli di nodi e un totale di 50 immagini uniche.

## Esecuzione di processi MNP in un Amazon VPC privato e in un cluster Amazon EKS
<a name="mnp-eks-running-mnp-jobs-vpc"></a>

I job MNP possono essere eseguiti su qualsiasi cluster Amazon EKS, indipendentemente dal fatto che disponga di una rete Internet pubblica o meno. Quando utilizzi un cluster Amazon EKS con solo accesso alla rete privata, assicurati che AWS Batch possa accedere al piano di controllo di Amazon EKS e al server Kubernetes API gestito. Puoi concedere l'accesso necessario tramite gli endpoint Amazon Virtual Private Cloud. Per ulteriori informazioni, consulta [Configurare un servizio endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html).

I cluster Pod Amazon EKS non possono scaricare un'immagine da una fonte pubblica poiché il VPC privato non dispone di accesso a Internet. Il tuo cluster Amazon EKS deve estrarre immagini da un registro di container che si trova all'interno del tuo Amazon VPC. Puoi creare un [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html)) nel tuo Amazon VPC e copiarvi le immagini dei container per l'accesso ai nodi. 

Puoi anche creare una regola pull through cache con Amazon ECR. Una volta creata una regola pull through cache per un registro pubblico esterno, puoi semplicemente estrarre un'immagine da quel registro pubblico esterno utilizzando l'URI del tuo registro privato Amazon ECR. Quindi Amazon ECR crea un repository e memorizza l'immagine nella cache. Quando un'immagine memorizzata nella cache viene estratta utilizzando l'URI del registro privato di Amazon ECR, Amazon ECR controlla il registro remoto per verificare se esiste una nuova versione dell'immagine e aggiornerà il registro privato fino a una volta ogni 24 ore. Per ulteriori informazioni, consulta [Creazione di una regola pull through cache in Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache-creating-rule.html)

## Notifica di errore
<a name="mnp-eks-error-notificaton"></a>

Se i tuoi lavori MNP sono bloccati, puoi ricevere notifiche tramite Amazon Console di gestione AWS e Amazon EventBridge. Ad esempio, se un lavoro MNP è bloccato in testa alla coda, puoi ricevere una notifica sul problema insieme alle informazioni sulla sua causa, in modo da poter intervenire tempestivamente per sbloccare la coda dei lavori. Facoltativamente, è possibile terminare automaticamente il processo MNP se non viene intrapresa alcuna azione entro un determinato periodo di tempo, che può essere definito nel modello di coda dei lavori. Per ulteriori informazioni, consulta [Eventi bloccati in Job queue](batch-job-queue-blocked-events.md)

# Crea una definizione di processo Amazon EKS MNP
<a name="mnp-eks-create-eks-mnp-job-definition"></a>

Per definire ed eseguire processi MNP su Amazon EKS, sono disponibili nuovi parametri all'interno delle operazioni [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)e delle [https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)API. 
+ Utilizzali nella [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksProperties.html)sezione per definire la definizione del processo MNP.
+ Utilizza nella [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPropertiesOverride.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPropertiesOverride.html)sezione per sovrascrivere i parametri definiti nella definizione del processo quando si invia un lavoro MNP.

Queste azioni possono essere definite tramite le operazioni API e il. Console di gestione AWS

## Riferimento: registrare il payload della richiesta di definizione del processo Amazon EKS MNP
<a name="mnp-eks-register-eks-mnp-job-definition"></a>

L'esempio seguente illustra come registrare una definizione di processo MNP di Amazon EKS con due nodi.

```
{
  "jobDefinitionName": "MyEksMnpJobDefinition",
  "type": "multinode",
  "nodeProperties": {
    "numNodes": 2,
    "mainNode": 0,
    "nodeRangeProperties": [
      {
        "targetNodes" : "0:",
        "eksProperties": {
          "podProperties": {
            "containers": [
              {
                "name": "test-eks-container-1",
                "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
                "command": [
                  "sleep",
                  "60"
                ],
                "resources": {
                  "limits": {
                    "cpu": "1",
                    "memory": "1024Mi"
                  }
                },
                "securityContext":{
                  "runAsUser":1000,
                  "runAsGroup":3000,
                  "privileged":true,
                  "readOnlyRootFilesystem":true,
                  "runAsNonRoot":true
               }
              }
            ],
            "initContainers": [
               {
                  "name":"init-ekscontainer",
                  "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
                  "command": [
                     "echo",
                     "helloWorld"
                   ],
                   "resources": {
                     "limits": {
                       "cpu": "1",
                       "memory": "1024Mi"
                     }
                  }
               }
            ],
            "metadata": {
               "labels": {
                  "environment" : "test"
               }
            }
          }
        }
      }
    ]
  }
}
```

Per registrare la definizione del processo utilizzando AWS CLI, copia la definizione in un file locale denominato *MyEksMnpJobDefinition.json* ed esegui il comando seguente.

```
aws batch register-job-definition --cli-input-json file://MyEksMnpJobDefinition.json
```

Riceverai la seguente risposta JSON.

```
{
    "jobDefinitionName": "MyEksMnpJobDefinition",
    "jobDefinitionArn": "arn:aws:batch:us-east-1:0123456789:job-definition/MyEksMnpJobDefinition:1",
    "revision": 1
}
```

# Invia un lavoro Amazon EKS MNP
<a name="mnp-eks-submit-eks-mnp-job"></a>

Per inviare un lavoro utilizzando la definizione di lavoro registrata, inserisci il seguente comando. Sostituisci il valore di <EKS\$1JOB\$1QUEUE\$1NAME>con il nome o l'ARN di una coda di lavoro preesistente associata a un ambiente di calcolo Amazon EKS. 

```
aws batch submit-job --job-queue <EKS_JOB_QUEUE_NAME> \
    --job-definition MyEksMnpJobDefinition \
    --job-name myFirstEksMnpJob
```

Riceverai la seguente risposta JSON.

```
{
    "jobArn": "arn:aws:batch:region:account:job/9b979cce-9da0-446d-90e2-ffa16d52af68",
    "jobName": "myFirstEksMnpJob", 
    "jobId": "<JOB_ID>"
}
```

È possibile controllare lo stato del lavoro utilizzando il JoBid restituito con il seguente comando.

```
aws batch describe-jobs --jobs <JOB_ID>
```

# Sostituisci una definizione di processo MNP di Amazon EKS
<a name="mnp-eks-override-eks-mnp-job-definition"></a>

Facoltativamente, puoi sovrascrivere i dettagli della definizione del lavoro (ad esempio modificare le dimensioni del lavoro MNP o i dettagli del lavoro secondario). Di seguito viene fornito un esempio di payload di richiesta JSON per inviare un job MNP a cinque nodi e modifiche al comando del contenitore. `test-eks-container-1`

```
{
  "numNodes": 5,
  "nodePropertyOverrides": [
    {
      "targetNodes": "0:",
      "eksPropertiesOverride": {
        "podProperties": {
          "containers": [
            {
              "name": "test-eks-container-1",
              "command": [
                "sleep",
                "150"
              ]
            }
          ]
        }
      }
    }
  ]
}
```

Per inviare un lavoro con queste sostituzioni, salvate l'esempio in un file locale, *eks-mnp-job-nodeoverride.json*, e utilizzate il per inviare il lavoro con AWS CLI le sostituzioni.