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
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.shhinzufü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 AL2 023 wird NodeConfigSpec
von EKS AWS Batch verwendet, um Instanzen zum EKS-Cluster hinzuzufügen. AWS Batch wird NodeConfigSpec für ClusterDetails den EKS-Cluster aufgefüllt und Sie müssen sie nicht angeben.
Anmerkung
Wir empfehlen, dass Sie keine der folgenden NodeConfigSpec
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 CreateComputeEnvironmentwird, UpdateComputeEnvironmentmuss sie aufgerufen werden, um zu überprüfen, welche Version der Startvorlage ersetzt werden kann.
Themen
Fügen Sie kubelet
zusätzliche Argumente hinzu
AWS Batch unterstützt das Hinzufügen zusätzlicher Argumente zum kubelet
Befehl. Eine Liste der unterstützten Parameter finden Sie kubelet
wird der --node-labels
mylabel=helloworld
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 AL2 023 ist AMIs das Dateiformat YAML. Eine Liste der unterstützten Parameter finden Sie NodeConfigSpec
wird der --node-labels
mylabel=helloworld
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
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 containerd
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 vonbootstrap.sh
. Weitere Informationen finden Sie Options
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
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
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 hinzugefügt werden. RegisterJobDefinition 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
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 im Amazon EKS-Benutzerhandbuch beschrieben sind.