Amazon EKS에서 GPU 기반 Kubernetes 클러스터 생성 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EKS에서 GPU 기반 Kubernetes 클러스터 생성

Amazon EKS에서 GPU 기반 Kubernetes 클러스터를 생성하려면 먼저 Amazon EKS AWS Batch 에서 시작하기의 단계를 완료해야 합니다. 추가적으로 다음 사항도 고려하세요.

  • AWS Batch 는 NVIDIA GPUs에서 인스턴스 유형을 지원합니다.

  • 기본적으로는 Amazon EKS 클러스터 컨트롤 플레인 Kubernetes 버전과 일치하는 버전으로 Amazon EKS 가속 AMI를 AWS Batch 선택합니다.

$ 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 는 사용자를 대신하여 NVIDIA GPU 디바이스 플러그인을 관리하지 않습니다. 이 플러그인을 Amazon EKS 클러스터에 설치하고 AWS Batch 노드를 대상으로 지정할 수 있도록 허용해야 합니다. 자세한 내용은 GitHub의 Kubernetes에서 GPU 지원 활성화를 참조하세요.

AWS Batch 노드를 대상으로 하도록 NVIDIA 디바이스 플러그인(DaemonSet)을 구성하려면 다음 명령을 실행합니다.

# 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

동일한 컴퓨팅 환경과 작업 대기열의 쌍에서 컴퓨팅 기반(CPU 및 메모리) 워크로드와 GPU 기반 워크로드를 함께 사용하지 않는 것이 좋습니다. 컴퓨팅 작업이 GPU 용량을 소모할 수 있기 때문입니다.

작업 대기열을 연결하려면 다음 명령을 실행합니다.

$ 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