

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Passen Sie die Amazon EKS-Startvorlagen an
<a name="eks-launch-templates"></a>

AWS Batch auf Amazon unterstützt EKS Startvorlagen. Es gibt Einschränkungen in Bezug darauf, was Ihre Startvorlage leisten kann.

**Wichtig**  
Für EKS AL2 AMIs AWS Batch läuft`/etc/eks/bootstrap.sh`. Führen Sie es nicht `/etc/eks/bootstrap.sh` in Ihrer Startvorlage oder Ihren cloud-init user-data Skripten aus. Sie können neben dem Parameter weitere `--kubelet-extra-args` Parameter zu [bootstrap.sh](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh) hinzufügen. Stellen Sie dazu die `AWS_BATCH_KUBELET_EXTRA_ARGS` Variable in der `/etc/aws-batch/batch.config` Datei ein. Einzelheiten finden Sie im folgenden Beispiel.
Für EKS AL2023 AWS Batch verwendet [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)From EKS, damit Instanzen dem EKS-Cluster beitreten. AWS Batch wird [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)für [ClusterDetails](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#clusterdetails)den EKS-Cluster aufgefüllt und Sie müssen sie nicht angeben.

**Anmerkung**  
Wir empfehlen, dass Sie keine der folgenden [https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)Einstellungen in der Startvorlage festlegen, da AWS Batch diese Ihre Werte überschreiben würden. Weitere Informationen finden Sie unter [Geteilte Verantwortung der Kubernetes Knoten](eks-ce-shared-responsibility.md).  
`Taints`
`Cluster Name`
`apiServerEndpoint`
`certificatAuthority`
`CIDR`
Erstellen Sie keine Labels mit dem Präfix `batch.amazonaws.com/`

**Anmerkung**  
Wenn die Startvorlage nach dem Aufruf geändert [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html)wird, [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html)muss sie aufgerufen werden, um zu überprüfen, welche Version der Startvorlage ersetzt werden kann.

**Topics**
+ [Fügen Sie `kubelet` zusätzliche Argumente hinzu](#kubelet-extra-args)
+ [Konfigurieren Sie die Container-Laufzeit](#change-container-runtime)
+ [Bereitstellen eines Amazon EFS-Volumes](#mounting-efs-volume)
+ [IPv6 Unterstützung](#eks-ipv6-support)

## Fügen Sie `kubelet` zusätzliche Argumente hinzu
<a name="kubelet-extra-args"></a>

AWS Batch unterstützt das Hinzufügen zusätzlicher Argumente zum `kubelet` Befehl. Eine Liste der unterstützten Parameter finden Sie [https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/)in der *KubernetesDokumentation*. Im folgenden Beispiel für EKS AL2 AMIs `--node-labels mylabel=helloworld` wird der `kubelet` Befehlszeile hinzugefügt.

```
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==--
```

Für EKS ist AL2023 AMIs das Dateiformat YAML. Eine Liste der unterstützten Parameter finden Sie [https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)in der *KubernetesDokumentation*. Im folgenden Beispiel für EKS AL2023 AMIs `--node-labels mylabel=helloworld` wird der `kubelet` Befehlszeile hinzugefügt.

```
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==--
```

## Konfigurieren Sie die Container-Laufzeit
<a name="change-container-runtime"></a>

Sie können die AWS Batch `CONTAINER_RUNTIME` Umgebungsvariable verwenden, um die Container-Laufzeit auf einem verwalteten Knoten zu konfigurieren. Im folgenden Beispiel wird die Container-Laufzeit auf „`containerd`when `bootstrap.sh` runs“ festgelegt. Weitere Informationen finden Sie [https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd)in der *KubernetesDokumentation*. 

Wenn Sie ein optimiertes `EKS_AL2023` oder `EKS_AL2023_NVIDIA` AMI verwenden, müssen Sie die Container-Laufzeit nicht angeben, da nur **containerd** unterstützt wird.

**Anmerkung**  
Die `CONTAINER_RUNTIME` Umgebungsvariable entspricht der `--container-runtime` Option von`bootstrap.sh`. Weitere Informationen finden Sie [https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options)in der *KubernetesDokumentation*.

```
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==--
```

## Bereitstellen eines Amazon EFS-Volumes
<a name="mounting-efs-volume"></a>

Sie können Startvorlagen verwenden, um Volumes auf dem Knoten zu mounten. Im folgenden Beispiel werden die `runcmd` Einstellungen `cloud-config` `packages` und verwendet. Weitere Informationen finden Sie in der *cloud-initDokumentation* unter [Cloud-Konfigurationsbeispielen](https://cloudinit.readthedocs.io/en/latest/topics/examples.html).

```
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==--
```

Um dieses Volume im Job zu verwenden, muss es im [eksProperties-Parameter](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksProperties.html) hinzugefügt werden. [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) Das folgende Beispiel ist ein großer Teil der Auftragsdefinition.

```
{
    "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"
                    }
                }
            ]
        }
    }
}
```

Im Knoten ist das Amazon EFS-Volume im `/mnt/efs` Verzeichnis gemountet. Im Container für den Amazon EKS-Job wird das Volume im `/efs` Verzeichnis bereitgestellt.

## IPv6 Unterstützung
<a name="eks-ipv6-support"></a>

AWS Batch unterstützt Amazon EKS-Cluster IPv6 mit Adressen. Für den AWS Batch Support sind keine Anpassungen erforderlich. Bevor Sie beginnen, empfehlen wir Ihnen jedoch, die Überlegungen und Bedingungen zu lesen, die unter [Zuweisen von IPv6 Adressen zu Pods und Services](https://docs.aws.amazon.com/eks/latest/userguide/cni-ipv6.html) im *Amazon EKS-Benutzerhandbuch* beschrieben sind.