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
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 für AL2 AMIs EKS
/etc/eks/bootstrap.sh. Führen Sie es nicht/etc/eks/bootstrap.shin Ihrer Startvorlage oder Ihren cloud-init user-data Skripten aus. Sie können neben dem Parameter weitere--kubelet-extra-argsParameter zu bootstrap.shhinzufügen. Stellen Sie dazu die AWS_BATCH_KUBELET_EXTRA_ARGSVariable in der/etc/aws-batch/batch.configDatei 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, keine der folgenden NodeConfigSpec
TaintsCluster NameapiServerEndpointcertificatAuthorityCIDRErstellen 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=helloworldkubelet 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=helloworldkubelet 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 „containerdwhen 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.