

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 una definizione di processo a nodo singolo sulle risorse Amazon EKS
<a name="create-job-definition-eks"></a>

Completa i seguenti passaggi per creare una definizione di processo a nodo singolo su Amazon Elastic Kubernetes Service (Amazon EKS).

**Per creare una nuova definizione di lavoro sulle risorse di Amazon EKS:**

1. Apri la AWS Batch console all'indirizzo [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dalla barra di navigazione in alto, scegli Regione AWS da usare.

1. Nel riquadro di navigazione a sinistra, scegli **Job definition**.

1. Scegli **Create** (Crea).

1. Per il **tipo di orchestrazione**, scegli **Elastic Kubernetes** Service (EKS).

1. Per **Nome, inserisci un nome** univoco per la definizione del lavoro. Il nome può avere una lunghezza massima di 128 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (\_).

1. (Facoltativo) Per il **timeout di esecuzione**, immettete il valore di timeout (in secondi). Il timeout di esecuzione è il periodo di tempo che intercorre prima che un lavoro incompiuto venga terminato. Se un tentativo supera la durata del timeout, il tentativo viene interrotto e passa a uno stato. `FAILED` Per ulteriori informazioni, consulta [Job timeout](job_timeouts.md). Il valore minimo è 60 secondi.

1. (Facoltativo) Attiva la priorità di **pianificazione**. Immettete un valore di priorità di pianificazione compreso tra 0 e 100. Ai valori più alti viene data una priorità maggiore rispetto ai valori inferiori.

1. (Facoltativo) Espandi **Tag**, quindi scegli **Aggiungi tag** per aggiungere tag alla risorsa.

1. Scegli **Pagina successiva**.

1. Nella sezione delle **podproprietà EKS**:

   1. Per **il nome dell'account di servizio**, inserisci un account che fornisca un'identità per i processi eseguiti in unpod.

   1. Attiva la **rete Host** per utilizzare il modello Kubernetes pod di rete e apri una porta di ascolto per le connessioni in entrata. Disattiva questa impostazione solo per le comunicazioni in uscita.

   1. Per la **politica DNS**, scegli una delle seguenti opzioni:
      + **Nessun valore (null)**: pod ignora le impostazioni DNS dall'ambiente. Kubernetes
      + **Predefinita**: pod eredita la configurazione della risoluzione dei nomi dal nodo su cui viene eseguito.
**Nota**  
Se non viene specificata una policy DNS, **Predefinita** non è la policy DNS predefinita. Viene invece utilizzato. **ClusterFirst**
      + **ClusterFirst**— Qualsiasi query DNS che non corrisponde al suffisso del dominio del cluster configurato viene inoltrata al nameserver upstream ereditato dal nodo. 
      + **ClusterFirstWithHostNet****— Da utilizzare se la rete host è attiva.**

   1. (Facoltativo) Per **i volumi**, seleziona **Aggiungi volume**, quindi:

      1. Aggiungi un **nome** per il tuo volume.

      1. (Facoltativo) Aggiungi il **percorso dell'host** per la directory sull'host. 

      1. (Facoltativo) Aggiungi un **limite **medio** e uno di dimensione** per configurare [Kubernetes](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) EmptyDir.

      1. **(Facoltativo) Fornisci un **nome segreto per il** pod e indica se il segreto è Facoltativo.**

      1. **(Facoltativo) Definisci **il nome di un claim** per allegare un [claim Kubernetes Persistent Volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) al pod e indica se è di sola lettura.**

   1. (Facoltativo) Per **le etichette Pod**, scegli **Aggiungi etichette per pod**, quindi inserisci una coppia nome-valore. 
**Importante**  
Il prefisso per l'etichetta di un pod non può contenere`kubernetes.io/`, `k8s.io/` o. `batch.amazonaws.com/`

   1. (Facoltativo) Per **le annotazioni Pod**, scegli **Aggiungi annotazioni**, quindi inserisci una coppia nome-valore. 
**Importante**  
Il prefisso per un'annotazione del pod non può contenere, o. `kubernetes.io/` `k8s.io/` `batch.amazonaws.com/`

   1. Scegli Pagina **successiva**.

   1. Nella sezione **Configurazione del contenitore**:

      1. Per **Nome**, inserisci un nome univoco per il contenitore. Il nome deve iniziare con una lettera o un numero e può contenere fino a 63 caratteri. Può contenere lettere maiuscole e minuscole, numeri e trattini (-).

      1. Per **Image, scegli l'immagine** da usare per il tuo Docker lavoro. Per impostazione predefinita, le immagini nel registro Docker Hub sono disponibili. Puoi anche specificare altri repository con `{{repository-url}}/{{image}}:{{tag}}`. Il nome può contenere fino a 255 caratteri. Può contenere lettere maiuscole e minuscole, numeri, trattini bassi (-), caratteri di sottolineatura (\_), due punti (:), punti (.), barre (/) e simboli di numero (\#). Questo parametro è `Image` mappato alla sezione [Crea un contenitore](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) dell'[API Docker Remote](https://docs.docker.com/engine/api/v1.38/) e al `IMAGE` parametro di [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)
**Nota**  
L'architettura immagine Docker deve corrispondere all'architettura del processore delle risorse di calcolo su cui sono pianificate. Ad esempio, le immagini Docker basate su ARM possono essere eseguite solo su risorse di calcolo basate su ARM.
         + Le immagini negli archivi pubblici di Amazon ECR utilizzano le convenzioni complete `registry/repository[:tag]` o di `registry/repository[@digest]` denominazione (ad esempio,). `public.ecr.aws/{{registry_alias}}/{{my-web-app}}:{{latest}}`
         + Le immagini nei repository Amazon ECR utilizzano la convenzione di `registry/repository[:tag]` denominazione completa (ad esempio,). `{{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com` `/{{my-web-app}}:{{latest}}`
         + Le immagini in repository ufficiali su Docker Hub utilizzano un singolo nome (ad esempio `ubuntu` o `mongo`).
         + Le immagini in altri repository su Docker Hub vengono qualificate con un nome di organizzazione (ad esempio, `amazon/amazon-ecs-agent`).
         + Le immagini in altri archivi online vengono ulteriormente qualificate da un nome di dominio (ad esempi, `quay.io/assemblyline/ubuntu`).

      1. (Facoltativo) Per la **policy Image pull**, scegli quando estrarre le immagini.

      1. (Facoltativo) In **Comando**, inserite un JSON comando da passare al contenitore.

      1. (Facoltativo) In **Argomenti**, inserite gli argomenti da passare al contenitore. Se non viene fornito un argomento, viene utilizzato il comando container image.

   1. (Facoltativo) È possibile aggiungere parametri alla definizione del processo come mappature nome-valore per sovrascrivere i valori predefiniti della definizione del processo. Per aggiungere un parametro:

      1. Per **Parametri**, inserisci una coppia nome-valore, quindi scegli **Aggiungi** parametro.
**Importante**  
**Se scegli **Aggiungi parametro**, devi configurare almeno un parametro o scegliere Rimuovi parametro**

   1. Nella sezione **Configurazione dell'ambiente**:

      1. Per **v CPUs**, inserisci il numero di v CPUs da riservare per il contenitore. Questo parametro è mappato a `CpuShares` nella sezione [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) e l'opzione `--cpu-shares` a [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Ogni vCPU equivale a 1.024 condivisioni di CPU. Devi specificare almeno un vCPU.

      1. Per **Memoria**, inserisci il limite di memoria disponibile per il contenitore. Se il container tenta di superare la memoria specificata qui, viene arrestato. Questo parametro è mappato a `Memory` nella sezione [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) e l'opzione `--memory` a [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Per un processo, è necessario specificare almeno 4 MiB di memoria.
**Nota**  
Per massimizzare l'utilizzo delle risorse, dai la priorità alla memoria per i job di un tipo di istanza specifico. Per ulteriori informazioni, consulta [Gestione della memoria delle risorse di calcolo](memory-management.md).

   1. (Facoltativo) Per **le variabili di ambiente**, scegliete **Aggiungi variabile di ambiente per aggiungere variabili** di ambiente come coppie nome-valore. Queste variabili vengono passate al contenitore.

   1. (Opzionale) Per **Volume Mount**:

      1. Scegli **Aggiungi montaggio per volume**.

      1. Inserisci un **nome**, quindi inserisci un **percorso di montaggio** nel contenitore in cui è montato il volume. Immettete **SubPath**a per specificare un sottopercorso all'interno del volume di riferimento anziché la relativa radice. 

      1. Scegliete **Sola lettura** per rimuovere le autorizzazioni di scrittura sul volume.

      1. Scegli **Aggiungi supporto per volume**.

   1. (Facoltativo) Per **Esegui come utente**, inserisci un ID utente per eseguire il processo del contenitore.
**Nota**  
L'ID utente deve esistere nell'immagine per consentire l'esecuzione del contenitore.

   1. (Facoltativo) Per **Esegui come gruppo**, inserisci un ID di gruppo per eseguire il runtime del processo del contenitore.
**Nota**  
L'ID del gruppo deve esistere nell'immagine per consentire l'esecuzione del contenitore.

   1. (Facoltativo) Per assegnare al contenitore del lavoro autorizzazioni elevate sull'istanza host (analogamente all'`root`utente), trascina il cursore **Privileged** verso destra. Questo parametro è mappato a `Privileged` nella sezione [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) e l'opzione `--privileged` a [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Facoltativo) Attiva il filesystem **root di sola lettura per rimuovere l'accesso in scrittura al filesystem** root.

   1. (Facoltativo) Attivate **Esegui come utente non root per eseguire i contenitori in modalità utente non root**. pod
**Nota**  
Se l'**opzione Esegui come non-root** è attivata, kubelet convalida l'immagine in fase di esecuzione per verificare che non venga eseguita come UID 0. 

   1. **Scegli Pagina successiva.**

1. Per la **revisione della definizione di Job**, rivedi i passaggi di configurazione. Se devi apportare modifiche, seleziona **Edit** (Modifica). Quando hai finito, scegli **Crea definizione del lavoro**.