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 le AMI EKS AL2, funziona. AWS Batch
/etc/eks/bootstrap.shNon eseguirlo/etc/eks/bootstrap.shnel modello o cloud-init user-data negli 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 AL2023, AWS Batch utilizza EKS per far sì che le NodeConfigSpec
istanze si uniscano al 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 le AMI EKS AL2023 il formato di file è YAML. Per l'elenco dei parametri supportati, consulta 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.
Supporto IPv6
AWS Batch supporta i cluster Amazon EKS con indirizzi IPv6. Non sono richieste personalizzazioni per il supporto. AWS Batch Tuttavia, prima di iniziare, ti consigliamo di rivedere le considerazioni e le condizioni descritte in Assegnazione di indirizzi IPv6 a pod e servizi nella Amazon EKS User Guide.