翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: 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 Support の有効化
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