

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

# Personalizza i modelli di lancio di Amazon EKS
<a name="eks-launch-templates"></a>

AWS Batch su Amazon EKS supporta i modelli di lancio. Esistono dei vincoli su ciò che il modello di lancio può fare.

**Importante**  
Per EKS AL2 AMIs, corre AWS Batch . `/etc/eks/bootstrap.sh` Non eseguirlo `/etc/eks/bootstrap.sh` nel modello o negli cloud-init user-data script di lancio. È possibile aggiungere parametri aggiuntivi oltre al `--kubelet-extra-args` parametro di [bootstrap.sh](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh). A tale scopo, impostate la `AWS_BATCH_KUBELET_EXTRA_ARGS` variabile nel `/etc/aws-batch/batch.config` file. Vedi l'esempio seguente per i dettagli.
Per EKS AL2023, AWS Batch utilizza il [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)formato EKS per far sì che le istanze si uniscano al cluster EKS. AWS Batch vengono [ClusterDetails](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#clusterdetails)compilati [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)per il cluster EKS e non è necessario specificarli.

**Nota**  
Ti consigliamo di non impostare nessuna delle seguenti [https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)impostazioni nel modello di avvio poiché AWS Batch sostituiranno i tuoi valori. Per ulteriori informazioni, consulta [Responsabilità condivisa dei nodi Kubernetes](eks-ce-shared-responsibility.md).  
`Taints`
`Cluster Name`
`apiServerEndpoint`
`certificatAuthority`
`CIDR`
Non creare etichette con il prefisso `batch.amazonaws.com/`

**Nota**  
Se il modello di avvio viene modificato dopo la [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html)chiamata, [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html)deve essere chiamato per valutare la versione del modello di avvio da sostituire.

**Topics**
+ [Aggiungi argomenti `kubelet` aggiuntivi](#kubelet-extra-args)
+ [Configura il runtime del contenitore](#change-container-runtime)
+ [Montare un volume Amazon EFS](#mounting-efs-volume)
+ [IPv6 supporto](#eks-ipv6-support)

## Aggiungi argomenti `kubelet` aggiuntivi
<a name="kubelet-extra-args"></a>

AWS Batch supporta l'aggiunta di argomenti aggiuntivi al `kubelet` comando. Per l'elenco dei parametri supportati, [https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/)consultate la *Kubernetesdocumentazione*. Nell'esempio seguente per EKS AL2 AMIs, `--node-labels mylabel=helloworld` viene aggiunto alla `kubelet` riga di comando.

```
MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

      --==MYBOUNDARY==
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      mkdir -p /etc/aws-batch

      echo AWS_BATCH_KUBELET_EXTRA_ARGS=\"--node-labels mylabel=helloworld\" >> /etc/aws-batch/batch.config

      --==MYBOUNDARY==--
```

Per EKS AL2023 AMIs il formato di file è YAML. *Per l'elenco dei parametri supportati, consulta la [https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)Kubernetesdocumentazione.* Nell'esempio seguente per EKS AL2023 AMIs, `--node-labels mylabel=helloworld` viene aggiunto alla `kubelet` riga di comando.

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: application/node.eks.aws

apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
  kubelet:
    flags:
    - --node-labels=mylabel=helloworld

--==MYBOUNDARY==--
```

## Configura il runtime del contenitore
<a name="change-container-runtime"></a>

È possibile utilizzare la variabile di AWS Batch `CONTAINER_RUNTIME` ambiente per configurare il runtime del contenitore su un nodo gestito. L'esempio seguente imposta il runtime del contenitore su `containerd` when `bootstrap.sh` run. Per ulteriori informazioni, [https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd)consultate la *Kubernetesdocumentazione*. 

Se si utilizza un'`EKS_AL2023_NVIDIA`AMI ottimizzata `EKS_AL2023` o non è necessario specificare il runtime del contenitore poiché è supportato solo **containerd**.

**Nota**  
La variabile di `CONTAINER_RUNTIME` ambiente è equivalente all'`--container-runtime`opzione di. `bootstrap.sh` Per ulteriori informazioni, [https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options)consulta la *Kubernetesdocumentazione*.

```
MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

      --==MYBOUNDARY==
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      mkdir -p /etc/aws-batch

      echo CONTAINER_RUNTIME=containerd >> /etc/aws-batch/batch.config

      --==MYBOUNDARY==--
```

## Montare un volume Amazon EFS
<a name="mounting-efs-volume"></a>

Puoi utilizzare i modelli di avvio per montare volumi sul nodo. Nell'esempio seguente, vengono utilizzate `runcmd` le impostazioni `cloud-config` `packages` e. Per ulteriori informazioni, consulta gli [esempi di configurazione di Cloud](https://cloudinit.readthedocs.io/en/latest/topics/examples.html) nella *cloud-initdocumentazione*.

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

packages:
- amazon-efs-utils

runcmd:
- file_system_id_01=fs-abcdef123
- efs_directory=/mnt/efs

- mkdir -p ${efs_directory}
- echo "${file_system_id_01}:/ ${efs_directory} efs _netdev,noresvport,tls,iam 0 0" >> /etc/fstab
- mount -t efs -o tls ${file_system_id_01}:/ ${efs_directory}

--==MYBOUNDARY==--
```

Per utilizzare questo volume nel job, è necessario aggiungerlo nel parametro [EksProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksProperties.html) a. [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) L'esempio seguente è una parte importante della definizione del processo.

```
{
    "jobDefinitionName": "MyJobOnEks_EFS",
    "type": "container",
    "eksProperties": {
        "podProperties": {
            "containers": [
                {
                    "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
                    "command": ["ls", "-la", "/efs"],
                    "resources": {
                        "limits": {
                            "cpu": "1",
                            "memory": "1024Mi"
                        }
                    },
                    "volumeMounts": [
                        {
                            "name": "efs-volume",
                            "mountPath": "/efs"
                        }
                    ]
                }
            ],
            "volumes": [
                {
                    "name": "efs-volume",
                    "hostPath": {
                        "path": "/mnt/efs"
                    }
                }
            ]
        }
    }
}
```

Nel nodo, il volume Amazon EFS è montato nella `/mnt/efs` directory. Nel contenitore per il job Amazon EKS, il volume viene montato nella `/efs` directory.

## IPv6 supporto
<a name="eks-ipv6-support"></a>

AWS Batch supporta i cluster Amazon EKS con IPv6 indirizzi. Non sono richieste personalizzazioni per AWS Batch il supporto. Tuttavia, prima di iniziare, ti consigliamo di rivedere le considerazioni e le condizioni descritte nella sezione [Assegnazione di IPv6 indirizzi a pod e servizi nella](https://docs.aws.amazon.com/eks/latest/userguide/cni-ipv6.html) *Amazon* EKS User Guide.