View a markdown version of this page

Crear un GPU-based Kubernetes clúster en Amazon EKS - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear un GPU-based Kubernetes clúster en Amazon EKS

Antes de crear un GPU-based Kubernetes clúster en Amazon EKS, debe haber completado los pasos que se indicanCómo empezar con AWS Batch Amazon EKS. Además, tenga en cuenta lo siguiente:

  • AWS Batch admite tipos de instancias con GPU NVIDIA.

  • De forma predeterminada, AWS Batch selecciona la AMI acelerada de Amazon EKS con la Kubernetes versión que coincide con la versión del plano de control del clúster de 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 no administra el complemento del dispositivo NVIDIA GPU en su nombre. Debe instalar este complemento en su clúster de Amazon EKS y permitir que se dirija a los AWS Batch nodos. Para obtener más información, consulte Habilitar GPU Support en Kubernetes on GitHub.

Para configurar el complemento del NVIDIA dispositivo (DaemonSet) para que se dirija a los AWS Batch nodos, ejecute los siguientes comandos.

# 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

No se recomienda mezclar cargas de trabajo informáticas (CPU y memoria) con cargas de GPU-based trabajo que combinen el mismo entorno informático y cola de tareas. Esto se debe a que las tareas informáticas pueden consumir la capacidad de la GPU.

Para adjuntar colas de trabajos, ejecute los siguientes comandos.

$ 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