

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.

# Erstellen Sie eine Auftragsdefinition mit einem Knoten auf Amazon EKS-Ressourcen
<a name="create-job-definition-eks"></a>

Gehen Sie wie folgt vor, um eine Auftragsdefinition für einen einzelnen Knoten auf Amazon Elastic Kubernetes Service (Amazon EKS) zu erstellen.

**So erstellen Sie eine neue Jobdefinition auf Amazon EKS-Ressourcen:**

1. Öffnen Sie die AWS Batch Konsole unter [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Wählen Sie in der oberen Navigationsleiste die aus, die Sie verwenden AWS-Region möchten.

1. Wählen Sie im linken Navigationsbereich die Option **Jobdefinitionen** aus.

1. Wählen Sie **Erstellen** aus.

1. Wählen Sie als **Orchestrierungstyp** **Elastic Kubernetes Service (**EKS) aus.

1. Geben Sie **unter Name** einen eindeutigen Namen für Ihre Jobdefinition ein. Der Name kann bis zu 128 Zeichen lang sein. Er kann Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-) und Unterstriche (\_) enthalten.

1. (Optional) Geben Sie für das **Ausführungs-Timeout** den Timeout-Wert (in Sekunden) ein. Das Ausführungs-Timeout ist die Zeitspanne, bis ein unvollendeter Job beendet wird. Wenn ein Versuch die Timeoutdauer überschreitet, wird der Versuch gestoppt und erhält einen Status. `FAILED` Weitere Informationen finden Sie unter [Timeouts bei der Job](job_timeouts.md). Der Mindestwert beträgt 60 Sekunden.

1. (Optional) Aktivieren Sie die **Zeitplanungspriorität**. Geben Sie einen Wert für die Planungspriorität zwischen 0 und 100 ein. Höheren Werten wird eine höhere Priorität gegenüber niedrigeren Werten eingeräumt.

1. (Optional) Erweitern Sie **Tags** und wählen Sie dann **Tag hinzufügen** aus, um der Ressource Tags hinzuzufügen.

1. Wählen Sie „**Nächste Seite“**.

1. Gehen Sie im Bereich **podEKS-Eigenschaften** wie folgt vor:

   1. Geben Sie als **Dienstkontoname** ein Konto ein, das eine Identität für Prozesse bereitstellt, die in einem ausgeführt pod werden.

   1. Schalten Sie das **Host-Netzwerk** ein, um das Kubernetes pod Netzwerkmodell zu verwenden, und öffnen Sie einen Listening-Port für eingehende Verbindungen. Schalten Sie diese Einstellung nur für ausgehende Kommunikation aus.

   1. Wählen Sie für **die DNS-Richtlinie** eine der folgenden Optionen aus:
      + **Kein Wert (Null)** — Der pod ignoriert die DNS-Einstellungen aus der Kubernetes Umgebung.
      + **Default** – Der pod erbt die Konfiguration der Namensauflösung von dem Knoten, auf dem er ausgeführt wird.
**Anmerkung**  
Wenn keine DNS-Richtlinie angegeben wird, ist **Default** nicht die Standard-DNS-Richtlinie. Stattdessen **ClusterFirst**wird verwendet.
      + **ClusterFirst**— Jede DNS-Abfrage, die nicht mit dem konfigurierten Cluster-Domänensuffix übereinstimmt, wird an den Upstream-Nameserver weitergeleitet, der vom Knoten geerbt wurde. 
      + **ClusterFirstWithHostNet**— Wird verwendet, wenn das **Host-Netzwerk aktiviert** ist.

   1. (Optional) Wählen Sie für **Volumes** die Option **Volume hinzufügen** aus und gehen Sie dann wie folgt vor:

      1. Fügen Sie einen **Namen** für Ihr Volume hinzu.

      1. (Optional) Fügen Sie den **Hostpfad** für das Verzeichnis auf dem Host hinzu. 

      1. (Optional) Fügen Sie ein **Medium** und eine **Größenbeschränkung** hinzu, um ein [Kubernetes](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) EmptyDir zu konfigurieren.

      1. **(Optional) Geben Sie einen **geheimen Namen** für den Pod an und geben Sie an, ob das Geheimnis optional ist.**

      1. (Optional) Definieren Sie einen **Claim-Namen**, um einen Kubernetes [Persistent Volume Claim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) an den Pod anzuhängen, und legen Sie fest, ob er **schreibgeschützt** ist.

   1. (Optional) Wählen Sie für **Pod-Labels** die Option **Pod-Labels hinzufügen** aus und geben Sie dann ein Name-Wert-Paar ein. 
**Wichtig**  
Das Präfix für ein Pod-Label darf nicht `kubernetes.io/``k8s.io/`, oder enthalten. `batch.amazonaws.com/`

   1. (Optional) Wählen Sie für **Pod-Anmerkungen** die Option **Anmerkungen hinzufügen** aus und geben Sie dann ein Name-Wert-Paar ein. 
**Wichtig**  
Das Präfix für eine Pod-Anmerkung darf nicht, oder enthalten`kubernetes.io/`. `k8s.io/` `batch.amazonaws.com/`

   1. Wählen Sie „**Nächste Seite“**.

   1. Gehen Sie im Abschnitt **Container-Konfiguration** wie folgt vor:

      1. Geben Sie unter **Name** einen eindeutigen Namen für den Container ein. Der Name muss mit einem Buchstaben oder einer Zahl beginnen und kann bis zu 63 Zeichen lang sein. Er kann Groß- und Kleinbuchstaben, Zahlen und Bindestriche (-) enthalten.

      1. Wählen Sie unter **Bild das Bild** aus, das Sie für Docker Ihren Job verwenden möchten. Images in der Docker-Hub-Registry sind standardmäßig verfügbar. Sie können auch andere Repositorys mit `{{repository-url}}/{{image}}:{{tag}}` angeben. Er kann bis zu 255 Zeichen lang sein. Sie kann Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-), Unterstriche (\_), Doppelstriche (:), Punkte (.), Schrägstriche (/) und Zahlenzeichen (\#) enthalten. Dieser Parameter entspricht `Image` dem Abschnitt [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) der [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) und dem `IMAGE` Parameter von [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)
**Anmerkung**  
Die Docker-Image-Architektur muss der Prozessorarchitektur der Compute-Ressourcen entsprechen, für die sie geplant sind. Beispielsweise können ARM-basierte Docker-Images nur auf ARM-basierten Rechenressourcen ausgeführt werden.
         + Bilder in öffentlichen Amazon ECR-Repositorys verwenden die vollständigen `registry/repository[:tag]` oder die `registry/repository[@digest]` Namenskonventionen (z. B.`public.ecr.aws/{{registry_alias}}/{{my-web-app}}:{{latest}}`).
         + Bilder in Amazon ECR-Repositorys verwenden die vollständige `registry/repository[:tag]` Namenskonvention (z. B. `{{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com``/{{my-web-app}}:{{latest}}`).
         + Images in offiziellen Repositorys in Docker Hub verwenden einen einzelnen Namen (z. B. `ubuntu` oder `mongo`).
         + Images in anderen Repositorys in Docker Hub sind mit einem Organisationsnamen qualifiziert (z. B `amazon/amazon-ecs-agent`).
         + Image in anderen Online-Repositorys sind durch einen Domain-Namen zusätzlich qualifiziert (z. B. `quay.io/assemblyline/ubuntu`).

      1. (Optional) Wählen **Sie für die Richtlinie zum Abrufen** von Bildern aus, wann Bilder abgerufen werden sollen.

      1. (Optional) Geben Sie unter **Command** einen JSON Befehl ein, der an den Container übergeben werden soll.

      1. (Optional) Geben Sie **unter Argumente Argumente** ein, die an den Container übergeben werden sollen. Wenn kein Argument angegeben wird, wird der Befehl container image verwendet.

   1. (Optional) Sie können der Auftragsdefinition Parameter als Name-Wert-Zuordnungen hinzufügen, um die Standardeinstellungen der Auftragsdefinition zu überschreiben. So fügen Sie einen Parameter hinzu:

      1. Geben Sie für **Parameter** ein Name-Wert-Paar ein und wählen Sie dann Parameter **hinzufügen** aus.
**Wichtig**  
**Wenn Sie **Parameter hinzufügen** wählen, müssen Sie mindestens einen Parameter konfigurieren oder Parameter entfernen wählen**

   1. Gehen Sie im Abschnitt **Umgebungskonfiguration** wie folgt vor:

      1. Geben Sie für **v CPUs** die Zahl von v einCPUs , die für den Container reserviert werden sollen. Dieser Parameter ordnet zu `CpuShares` im Bereich [Erstellen eines Containers](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) der [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) und der Option `--cpu-shares` für die [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) zu. Jede vCPU entspricht 1.024 CPU-Anteilen. Sie müssen mindestens eine vCPU angeben.

      1. Geben Sie unter **Speicher** das Speicherlimit ein, das für den Container verfügbar ist. Wenn Ihr Container versucht, den hier angegebenen Arbeitsspeicher zu überschreiten, wird der Container angehalten. Dieser Parameter ordnet zu `Memory` im Bereich [Erstellen eines Containers](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) der [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) und der Option `--memory` für die [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) zu. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen.
**Anmerkung**  
Um Ihre Ressourcennutzung zu maximieren, priorisieren Sie den Arbeitsspeicher für Jobs eines bestimmten Instance-Typs. Weitere Informationen finden Sie unter [Speicherverwaltung für Rechenressourcen](memory-management.md).

   1. (Optional) Wählen Sie für **Umgebungsvariablen** die Option **Umgebungsvariable hinzufügen aus, um Umgebungsvariablen** als Name-Wert-Paare hinzuzufügen. Diese Variablen werden an den Container übergeben.

   1. (Optional) Für die **Volume-Bereitstellung**:

      1. Wählen Sie „**Volume-Mount hinzufügen**“.

      1. Geben Sie einen **Namen** und anschließend einen **Bereitstellungspfad** in dem Container ein, in dem das Volume bereitgestellt ist. Geben Sie a ein **SubPath**, um anstelle des Stammverzeichnisses einen Unterpfad innerhalb des referenzierten Volumes anzugeben. 

      1. Wählen Sie **Schreibgeschützt**, um die Schreibberechtigungen für das Volume zu entfernen.

      1. Wählen Sie „**Volume-Mount hinzufügen**“.

   1. (Optional) Geben Sie **unter Als Benutzer ausführen** eine Benutzer-ID ein, um den Container-Prozess auszuführen.
**Anmerkung**  
Die Benutzer-ID muss im Image vorhanden sein, damit der Container ausgeführt werden kann.

   1. (Optional) Geben Sie für **Als Gruppe ausführen** eine Gruppen-ID ein, um die Laufzeit des Container-Prozesses auszuführen.
**Anmerkung**  
Die Gruppen-ID muss im Image vorhanden sein, damit der Container ausgeführt werden kann.

   1. (Optional) Um dem Container Ihres Jobs erhöhte Berechtigungen auf der Host-Instance zu gewähren (ähnlich wie dem `root` Benutzer), ziehen Sie den Schieberegler **Privilegiert** nach rechts. Dieser Parameter ordnet zu `Privileged` im Bereich [Erstellen eines Containers](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) der [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) und der Option `--privileged` für die [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) zu.

   1. (Optional) Aktivieren Sie das **schreibgeschützte Root-Dateisystem, um den Schreibzugriff auf das Root-Dateisystem** zu entfernen.

   1. (Optional) Aktivieren Sie „**Als Nicht-Root-Benutzer ausführen**“, um die Container im als Nicht-Root-Benutzer auszuführen. pod
**Anmerkung**  
Wenn „**Als Nicht-Root ausführen**“ aktiviert ist, kubelet validiert das das Image zur Laufzeit, um sicherzustellen, dass das Image nicht mit UID 0 ausgeführt wird. 

   1. **Wählen Sie „Nächste Seite“.**

1. Lesen Sie zur **Überprüfung der Jobdefinition** die Konfigurationsschritte. Wenn Sie Änderungen vornehmen müssen, wählen Sie **Edit** (Bearbeiten). Wenn Sie fertig sind, wählen Sie **Jobdefinition erstellen**.