View a markdown version of this page

Erstellen Sie eine Einzelknoten-Jobdefinition für Amazon EKS-Ressourcen - AWS Batch

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 Einzelknoten-Jobdefinition für Amazon EKS-Ressourcen

Führen Sie die folgenden Schritte aus, um eine Einzelknoten-Auftragsdefinition auf Amazon Elastic Kubernetes Service (Amazon EKS) zu erstellen.

So erstellen Sie eine neue Auftragsdefinition für Amazon EKS-Ressourcen:
  1. Öffnen Sie die AWS Batch Konsole unter https://console.aws.amazon.com/batch/.

  2. Wählen Sie in der oberen Navigationsleiste die AWS-Region zu verwendende aus.

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

  4. Wählen Sie Erstellen aus.

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

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

  7. (Optional) Geben Sie für das Ausführungstimeout den Timeout-Wert (in Sekunden) ein. Der Ausführungs-Timeout gibt an, wie lange es dauert, bis ein noch nicht abgeschlossener Job beendet wird. Wenn ein Versuch die Timeout-Dauer überschreitet, wird der Versuch gestoppt und geht in einen Status über. FAILED Weitere Informationen finden Sie unter Zeitüberschreitungen bei Aufträgen. Der Mindestwert beträgt 60 Sekunden.

  8. (Optional) Aktivieren Sie die Zeitplanungspriorität. Geben Sie einen Wert für die Planungspriorität zwischen 0 und 100 ein. Höhere Werte erhalten eine höhere Priorität gegenüber niedrigeren Werten.

  9. (Optional) Erweitern Sie „Tags“ und wählen Sie dann „Tag hinzufügen“, um der Ressource Stichwörter hinzuzufügen.

  10. Wählen Sie „Nächste Seite“.

  11. Im Abschnitt mit den pod EKS-Eigenschaften:

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

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

    3. Wählen Sie für die DNS-Richtlinie eine der folgenden Optionen aus:

      • Kein Wert (null) — Das 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.

    4. (Optional) Wählen Sie für Volumes die Option Volume hinzufügen und dann:

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

      2. (Optional) Fügen Sie den Host-Pfad für das Verzeichnis auf dem Host hinzu.

      3. (Optional) Fügen Sie ein Medium - und ein Größenlimit hinzu, um ein Kubernetes EmptyDir zu konfigurieren.

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

      5. (Optional) Definieren Sie einen Anspruchsnamen, um einen Kubernetes Persistent Volume Claim an den Pod anzuhängen, und geben Sie an, ob dieser schreibgeschützt ist.

    5. (Optional) Geben Sie für Image Pull Secret den Namen des Kubernetes Secrets in den Namespace ein, in dem der Job ausgeführt wird. pod Das Secret enthält Anmeldeinformationen, Kubernetes mit denen Bilder aus einer privaten Registrierung abgerufen werden. Der Name kann bis zu 253 Zeichen lang sein. Er kann Kleinbuchstaben, Zahlen, Bindestriche (-) und Punkte (.) enthalten und muss mit einem Buchstaben oder einer Zahl beginnen und enden.

      Wichtig

      Das Secret muss in demselben Namespace existieren, in dem der Job ausgeführt wird. pod

    6. (Optional) Geben Sie für Namespace den Kubernetes Namespace ein, in dem der Job AWS Batch platziert wird. pod Dieser kann sich vom Namespace der Rechenumgebung unterscheiden. Wenn sich der hier angegebene Namespace vom Namespace der Rechenumgebung unterscheidet, müssen Sie entsprechende AWS Batch rollenbasierte Zugriffssteuerungsberechtigungen (RBAC) im Job-Namespace konfigurieren. Der Namespace kann bis zu 63 Zeichen lang sein. Er kann Kleinbuchstaben, Zahlen und Bindestriche (-) enthalten und muss mit einem Buchstaben oder einer Zahl beginnen und enden. Der Namespace darf nicht mit sein oder beginnen. default kube- Wenn Sie keinen Namespace angeben, wird der Namespace der Rechenumgebung AWS Batch verwendet.

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

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

    9. Wählen Sie Nächste Seite.

  12. Im Abschnitt Container-Konfiguration:

    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.

    2. 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 Einen Container erstellen der Docker Remote API und dem IMAGE Parameter von docker run

      Anmerkung

      Die Docker-Image-Architektur muss der Prozessorarchitektur der Compute-Ressourcen entsprechen, für die sie geplant sind. ARM-based Docker-Images können beispielsweise nur auf ARM-based Rechenressourcen ausgeführt werden.

      • Für Bilder in öffentlichen Amazon ECR-Repositorys werden die vollständigen Konventionen registry/repository[:tag] oder die registry/repository[@digest] Namenskonventionen verwendet (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).

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

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

    5. (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.

    6. (Optional) Sie können der Auftragsdefinition Parameter als Name-Wert-Zuordnungen hinzufügen, um die Standardwerte 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.

        Wichtig

        Wenn Sie Parameter hinzufügen wählen, müssen Sie mindestens einen Parameter konfigurieren oder Parameter entfernen wählen

    7. Im Abschnitt Umgebungskonfiguration:

      1. Geben Sie für vCPUs die Anzahl der vCPUs ein, die für den Container reserviert werden sollen. Dieser Parameter ordnet zu CpuShares im Bereich Erstellen eines Containers der Docker Remote API und der Option --cpu-shares für die docker run zu. Jede vCPU entspricht 1.024 CPU-Anteilen. Sie müssen mindestens eine vCPU angeben.

      2. Geben Sie für Arbeitsspeicher 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 der Docker Remote API und der Option --memory für die docker run zu. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen.

        Anmerkung

        Um Ihre Ressourcenauslastung zu maximieren, sollten Sie Arbeitsspeicher für Jobs eines bestimmten Instance-Typs priorisieren. Weitere Informationen finden Sie unter Speicherverwaltung für Rechenressourcen.

    8. (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.

    9. (Optional) Für die Volumenmontage:

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

      2. Geben Sie einen Namen ein und geben Sie dann einen Bereitstellungspfad in dem Container ein, in dem das Volume gemountet ist. Geben Sie a ein SubPath, um anstelle des Stammdatenträgers einen Unterpfad innerhalb des referenzierten Volumes anzugeben.

      3. Wählen Sie „Nur lesen“, um die Schreibberechtigungen für das Volume zu entfernen.

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

    10. (Optional) Geben Sie für Als Benutzer ausführen eine Benutzer-ID ein, um den Containerprozess auszuführen.

      Anmerkung

      Die Benutzer-ID muss im Image vorhanden sein, damit der Container ausgeführt werden kann.

    11. (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.

    12. (Optional) Um dem Container Ihres Jobs erhöhte Berechtigungen für die Host-Instance zu geben (ähnlich wie beim root Benutzer), ziehen Sie den Schieberegler Privilegiert nach rechts. Dieser Parameter ordnet zu Privileged im Bereich Erstellen eines Containers der Docker Remote API und der Option --privileged für die docker run zu.

    13. (Optional) Schalten Sie das Read-only Root-Dateisystem ein, um den Schreibzugriff auf das Root-Dateisystem zu entfernen.

    14. (Optional) Aktivieren Sie „Als Nicht-Root-Benutzer ausführen“, um die Container in dem als Benutzer auszuführen, der kein pod Root-Benutzer ist.

      Anmerkung

      Wenn Als Nicht-Root-Benutzer ausführen aktiviert ist, kubelet validiert der das Image zur Laufzeit, um sicherzustellen, dass das Image nicht mit UID 0 ausgeführt wird.

    15. Wählen Sie „Nächste Seite“.

  13. Überprüfen Sie die Konfigurationsschritte, um die Jobdefinition zu überprüfen. Wenn Sie Änderungen vornehmen müssen, wählen Sie Edit (Bearbeiten). Wenn Sie fertig sind, wählen Sie Jobdefinition erstellen.