在使用GPU-HPN預留資源運行應用時,可以基於虛擬節點中的GPU屬性標籤,將應用調度至目標節點。本文介紹GPU-HPN虛擬節點屬性標籤基本資料,以及如何將應用部署和運行在指定卡型上。
前提條件
叢集已關聯GPU-HPN容量預留。
GPU屬性標籤說明
在ACS的GPU-HPN虛擬節點中,可以查看到以下標籤。
標籤名稱 | 描述 |
alibabacloud.com/gpu-model-series | 虛擬節點的GPU卡型系列名稱。 |
alibabacloud.com/node-series | 虛擬節點的預留資源類型。 |
alibabacloud.com/hpn-zone | 高速網路的可用性區域名稱。 |
說明
目前支援的GPU具體型號列表請提交工單諮詢。
將業務提交到指定屬性的虛擬節點上
您可使用K8s提供的Node Selector或Node Affinity能力,控制應用對GPU卡型屬性調度的偏好。
以下為通過nodeSelector方式將應用運行在指定卡型上。
使用以下YAML內容,建立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執行以下命令,查看tensorflow-mnist應用對應Pod的運行情況
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>預期Pod會運行在GPU型號為gpu-example的虛擬節點上。