GPU-HPN リソース予約を使用してポッドを実行する場合、仮想ノードの GPU 属性ラベルを使用して、指定された仮想ノードにポッドをスケジュールできます。 このトピックでは、GPU-HPN ノードの属性ラベルと、指定された GPU モデルでポッドを実行する方法について説明します。
前提条件
クラスタが GPU-HPN キャパシティ予約に関連付けられている。
GPU 属性ラベル
ACS クラスタの GPU-HPN 仮想ノードには、次のラベルがあります。
ラベル | 説明 |
alibabacloud.com/gpu-model-series | 仮想ノードで使用される GPU モデル。 |
alibabacloud.com/node-series | 仮想ノードの予約リソースのタイプ。 |
alibabacloud.com/hpn-zone | ハイパフォーマンスネットワークのゾーン。 |
説明
サポートされている GPU モデルを表示するには、submit a ticket してください。
指定された属性を持つ仮想ノードにポッドをスケジュールする
Kubernetes のノードセレクタまたはノードアフィニティルールを使用して、ポッドがスケジュールされる GPU モデルを制御できます。
次の例では、node selector を使用して、指定された GPU モデルにポッドをスケジュールします。
tensorflow-mnist.yaml という名前のファイルを作成し、次の内容をファイルに追加します。
apiVersion: batch/v1 kind: Job metadata: name: tensorflow-mnist spec: parallelism: 1 template: metadata: labels: app: tensorflow-mnist spec: nodeSelector: alibabacloud.com/gpu-model-series: "gpu-example" # アプリケーションのポッドを gpu-example 仮想ノードにスケジュールします。モデルは参照用です。 containers: - name: tensorflow-mnist image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5 command: - python - tensorflow-sample-code/tfjob/docker/mnist/main.py - --max_steps=1000 - --data_dir=tensorflow-sample-code/data resources: requests: cpu: 1 memory: 1 nvidia.com/gpu: 1 limits: cpu: 1 memory: 1 nvidia.com/gpu: 1 workingDir: /root restartPolicy: Never次のコマンドを実行して、tensorflow-mnist アプリケーションをデプロイします。
kubectl apply -f tensorflow-mnist.yaml次のコマンドを実行して、ポッドのステータスをクエリします。
kubectl get pod -l app=tensorflow-mnist -o wide期待される結果:
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES default tensorflow-mnist-xxx 0/2 Running 0 4h2m <none> cn-shanghai-b.cr-u4ub6c3un2mrjlct2l9c <none> <none>出力は、ポッドが gpu-example GPU を使用する仮想ノードで実行されていることを示しています。