Tutorial: Buat GPU berbasis Kubernetes cluster di Amazon EKS - AWS Batch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Buat GPU berbasis Kubernetes cluster di Amazon EKS

Sebelum Anda membuat GPU berbasis Kubernetes cluster di AmazonEKS, Anda harus telah menyelesaikan langkah-langkahnyaTutorial: Memulai dengan AWS Batch di Amazon EKS. Selain itu, pertimbangkan juga hal berikut:

  • AWS Batch mendukung jenis instance dengan NVIDIAGPUs.

  • Secara default, AWS Batch pilih Amazon yang EKS dipercepat AMI dengan Kubernetes versi yang cocok dengan versi bidang kontrol EKS cluster Amazon Anda.

$ 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 tidak mengelola NVIDIA GPUPlugin perangkat atas nama Anda. Anda harus menginstal plugin ini ke EKS cluster Amazon Anda dan membiarkannya menargetkan AWS Batch node. Untuk informasi selengkapnya, lihat Mengaktifkan GPU Support di Kubernetespada GitHub.

Untuk mengkonfigurasi NVIDIA device plugin (DaemonSet) untuk menargetkan AWS Batch node, jalankan perintah berikut.

# 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

Kami tidak menyarankan Anda mencampur beban kerja berbasis komputasi (CPUdan memori) dengan beban kerja GPU berbasis dalam pasangan lingkungan komputasi dan antrean pekerjaan yang sama. Ini karena pekerjaan komputasi dapat menghabiskan GPU kapasitas.

Untuk melampirkan antrian pekerjaan, jalankan perintah berikut.

$ 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