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.sh
Non eseguirlo/etc/eks/bootstrap.sh
nel modello o negli cloud-init user-data script di lancio. È possibile aggiungere parametri aggiuntivi oltre al--kubelet-extra-args
parametro di bootstrap.sh. A tale scopo, impostate la AWS_BATCH_KUBELET_EXTRA_ARGS
variabile nel/etc/aws-batch/batch.config
file. Vedi l'esempio seguente per i dettagli.-
Per EKS AL2 023, AWS Batch utilizza il NodeConfigSpec
formato EKS per far sì che le 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
Taints
Cluster Name
apiServerEndpoint
certificatAuthority
CIDR
Non 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=helloworld
kubelet
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=helloworld
kubelet
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_NVIDIA
AMI 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-runtime
opzione 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.