Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Personalizza i modelli di lancio di Amazon EKS
AWS Batch su Amazon EKS supporta i modelli di lancio. Esistono dei vincoli su ciò che il modello di lancio può fare.
Importante
Per EKS AL2 AMIs, corre AWS Batch .
/etc/eks/bootstrap.shNon eseguirlo/etc/eks/bootstrap.shnel modello o negli cloud-init user-data script di lancio. È possibile aggiungere parametri aggiuntivi oltre al--kubelet-extra-argsparametro di bootstrap.sh. A tale scopo, impostate la AWS_BATCH_KUBELET_EXTRA_ARGSvariabile nel/etc/aws-batch/batch.configfile. Vedi l'esempio seguente per i dettagli.-
Per EKS AL2 023, AWS Batch utilizza il NodeConfigSpec
formato EKS per inserire le istanze nel cluster EKS. AWS Batch vengono ClusterDetails compilati NodeConfigSpec per il cluster EKS e non è necessario specificarli.
Nota
Ti consigliamo di non impostare nessuna delle seguenti NodeConfigSpec
TaintsCluster NameapiServerEndpointcertificatAuthorityCIDRNon creare etichette con il prefisso
batch.amazonaws.com/
Nota
Se il modello di avvio viene modificato dopo la CreateComputeEnvironmentchiamata, UpdateComputeEnvironmentdeve essere chiamato per valutare la versione del modello di avvio da sostituire.
Argomenti
Aggiungi argomenti kubelet aggiuntivi
AWS Batch supporta l'aggiunta di argomenti aggiuntivi al kubelet comando. Per l'elenco dei parametri supportati, kubelet viene aggiunto alla --node-labels
mylabel=helloworldkubelet riga di comando.
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==--
Per EKS AL2 023 AMIs il formato del file è YAML. Per l'elenco dei parametri supportati, NodeConfigSpec viene aggiunto alla --node-labels
mylabel=helloworldkubelet riga di comando.
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==--
Configura il runtime del contenitore
È possibile utilizzare la variabile di AWS Batch CONTAINER_RUNTIME ambiente per configurare il runtime del contenitore su un nodo gestito. L'esempio seguente imposta il runtime del contenitore su containerd when bootstrap.sh run. Per ulteriori informazioni, containerd
Se si utilizza un'EKS_AL2023_NVIDIAAMI ottimizzata EKS_AL2023 o non è necessario specificare il runtime del contenitore poiché è supportato solo containerd.
Nota
La variabile di CONTAINER_RUNTIME ambiente è equivalente all'--container-runtimeopzione di. bootstrap.sh Per ulteriori informazioni, 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==--
Montare un volume Amazon EFS
Puoi utilizzare i modelli di avvio per montare volumi sul nodo. Nell'esempio seguente, vengono utilizzate runcmd le impostazioni cloud-config packages e. Per ulteriori informazioni, consulta gli esempi di configurazione di Cloud
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==--
Per utilizzare questo volume nel job, è necessario aggiungerlo nel parametro EksProperties a. RegisterJobDefinition L'esempio seguente è una parte importante della definizione del processo.
{ "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" } } ] } } }
Nel nodo, il volume Amazon EFS è montato nella /mnt/efs directory. Nel contenitore per il job Amazon EKS, il volume viene montato nella /efs directory.
IPv6 supporto
AWS Batch supporta i cluster Amazon EKS con IPv6 indirizzi. Non sono richieste personalizzazioni per AWS Batch il supporto. Tuttavia, prima di iniziare, ti consigliamo di rivedere le considerazioni e le condizioni descritte nella sezione Assegnazione di IPv6 indirizzi a pod e servizi nella Amazon EKS User Guide.