

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.

# Amazon EKS-Startvorlagen anpassen
<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**  
 AWS Batch Läuft `/etc/eks/bootstrap.sh` für EKS AL2-AMIs. 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 wird [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)von EKS AWS Batch verwendet, um Instanzen zum EKS-Cluster hinzuzufügen. 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 [Gemeinsame 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-Support](#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 `{{--node-labels mylabel=helloworld}}` wird AL2-AMIs zur `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 AL2023-AMIs ist 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 Kubernetes Dokumentation.* 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-Support
<a name="eks-ipv6-support"></a>

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