本文介紹在ACK Pro叢集的靈駿節點池中使用PPU節點的操作步驟及注意事項。
準備工作
建立ACK託管叢集Pro版並安裝ack-rdma-device-plugin和ack-ppu-device-plugin組件。
安裝ack-ppu-device-plugin組件時,請勾選Enable PPU Topology選項。開啟後,組件將上報PPU拓撲資訊,調度器預設按照最優PPU拓撲組合進行調度。PPU拓撲感知調度功能可根據PPU的物理拓撲結構,為您的任務分配最優的PPU組合,支援申請1、2、4、8、16卡調度。
添加已有靈駿節點(PPU節點)到靈駿節點池。
在靈駿節點池使用PPU
確認PPU節點已就緒
添加PPU節點到靈駿節點池後,檢查節點是否正常就緒:
kubectl get nodes -l aliyun.accelerator/xpu_type=ppuPPU節點就緒後,可在節點上看到如下PPU相關的Kubernetes節點標籤:
標籤 | 說明 | 樣本值 |
aliyun.accelerator/xpu_type | 加速器類型 | ppu |
aliyun.accelerator/ppu_name | PPU型號名稱 | PPU-ZW810E |
aliyun.accelerator/ppu_count | 每節點PPU數量 | 16 |
aliyun.accelerator/ppu_mem | 每個PPU的顯存大小 | 98304MiB |
查看節點標籤資訊:
kubectl get node <NODE_NAME> -o jsonpath='{.metadata.labels}' | jq 'to_entries[ ] | select(.key | startswith("aliyun.accelerator"))'開啟Binpack調度策略
為使PPU任務優先集中放置到同一節點,減少片段,建議開啟Binpack調度策略。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,單擊組件管理。
在核心組件頁簽地區,定位kube-scheduler組件,單擊卡片右下方的配置,在對話方塊中按照頁面提示完成參數的配置。
勾選啟用Pod 調度優先集中放置。
在binpackResourceWeight一欄,單擊添加,將resourceName聲明為
alibabacloud.com/ppu,啟用針對PPU資源的Binpack調度策略。
部署PPU應用
配置完成後,在工作負載中通過resources.limits申請PPU資源即可。以下樣本展示如何部署一個申請1個PPU的應用:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: ppu
name: ppu-test
namespace: default
spec:
selector:
matchLabels:
app: ppu
template:
metadata:
labels:
app: ppu
spec:
containers:
- image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
imagePullPolicy: IfNotPresent
name: ppu
ports:
- containerPort: 80
protocol: TCP
resources:
limits:
alibabacloud.com/ppu: "1"
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
tolerations:
- key: node-role.alibabacloud.com/lingjun
operator: Exists
effect: NoSchedule關鍵配置說明:
resources.limits.alibabacloud.com/ppu:申請的PPU數量,支援1、2、4、8、16等值。tolerations:需要添加對靈駿節點汙點node-role.alibabacloud.com/lingjun的容忍,否則Pod無法調度到PPU節點。
驗證結果
查看Pod是否正常調度到PPU節點並運行:
kubectl get pod -l app=ppu -o wide預期輸出中Pod狀態為Running,且NODE列為PPU節點名稱。
查看Pod所在節點的PPU分配情況:
kubectl describe node <NODE_NAME> | grep -A 5 "Allocated resources"預期輸出中可以看到alibabacloud.com/ppu資源已被分配。