Crea un Kubernetes cluster basato su GPU su Amazon EKS - AWS Batch

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à.

Crea un Kubernetes cluster basato su GPU su Amazon EKS

Prima di creare un Kubernetes cluster basato su GPU su Amazon EKS, devi aver completato i passaggi indicati. Guida introduttiva ad AWS Batch Amazon EKS Inoltre, considera anche quanto segue:

  • AWS Batch supporta i tipi di istanze con NVIDIA GPUs.

  • Per impostazione predefinita, AWS Batch seleziona l'AMI accelerata Amazon EKS con la Kubernetes versione che corrisponde alla versione del piano di controllo del cluster Amazon EKS.

$ cat <<EOF > ./batch-eks-gpu-ce.json { "computeEnvironmentName": "My-Eks-GPU-CE1", "type": "MANAGED", "state": "ENABLED", "eksConfiguration": { "eksClusterArn": "arn:aws:eks:<region>:<account>:cluster/<cluster-name>", "kubernetesNamespace": "my-aws-batch-namespace" }, "computeResources": { "type": "EC2", "allocationStrategy": "BEST_FIT_PROGRESSIVE", "minvCpus": 0, "maxvCpus": 1024, "instanceTypes": [ "p3dn.24xlarge", "p4d.24xlarge" ], "subnets": [ "<eks-cluster-subnets-with-access-to-internet-for-image-pull>" ], "securityGroupIds": [ "<eks-cluster-sg>" ], "instanceRole": "<eks-instance-profile>" } } EOF $ aws batch create-compute-environment --cli-input-json file://./batch-eks-gpu-ce.json

AWS Batch non gestisce il plug-in del dispositivo NVIDIA GPU per tuo conto. È necessario installare questo plug-in nel cluster Amazon EKS e consentirgli di indirizzare i AWS Batch nodi. Per ulteriori informazioni, consulta Enabling GPU Support in Kubernetes on GitHub.

Per configurare il plugin del NVIDIA dispositivo (DaemonSet) per indirizzare i AWS Batch nodi, esegui i seguenti comandi.

# pull nvidia daemonset spec $ curl -O https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.12.2/nvidia-device-plugin.yml # using your favorite editor, add Batch node toleration # this will allow the DaemonSet to run on Batch nodes - key: "batch.amazonaws.com/batch-node" operator: "Exists" $ kubectl apply -f nvidia-device-plugin.yml

Non è consigliabile combinare carichi di lavoro basati su calcolo (CPU e memoria) con carichi di lavoro basati su GPU nelle stesse combinazioni di ambiente di calcolo e coda di lavoro. Questo perché i processi di elaborazione possono utilizzare la capacità della GPU.

Per allegare code di lavoro, esegui i seguenti comandi.

$ cat <<EOF > ./batch-eks-gpu-jq.json { "jobQueueName": "My-Eks-GPU-JQ1", "priority": 10, "computeEnvironmentOrder": [ { "order": 1, "computeEnvironment": "My-Eks-GPU-CE1" } ] } EOF $ aws batch create-job-queue --cli-input-json file://./batch-eks-gpu-jq.json