As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: criar um cluster do Kubernetes baseado em GPU no Amazon EKS
Antes de criar um cluster do Kubernetes baseado em GPU no Amazon EKS, você deve ter concluído as etapas em Começando a usar AWS Batch no Amazon EKS. Além disso, considere também o seguinte:
-
AWS Batch oferece suporte a tipos de instância com a NVIDIA GPUs.
-
Por padrão, AWS Batch seleciona a AMI acelerada do Amazon EKS com a Kubernetes versão que corresponde à versão do plano de controle do cluster do 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 não gerencia o plug-in do dispositivo NVIDIA GPU em seu nome. Você deve instalar esse plug-in em seu cluster Amazon EKS e permitir que ele atinja os AWS Batch nós. Para obter mais informações, consulte Habilitando o GPU Support em Kubernetes
Para configurar o plug-in do NVIDIA dispositivo (DaemonSet
) para direcionar os AWS Batch nós, execute os comandos a seguir.
# 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
Não recomendamos que você misture workloads baseadas em computação (CPU e memória) com workloads baseados em GPU nos mesmos pares de ambiente de computação e fila de trabalhos. Isso ocorre porque os trabalhos de computação podem usar a capacidade da GPU.
Para anexar filas de trabalhos, execute os comandos a seguir.
$
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