本文介绍在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调度策略。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在核心组件页签区域,定位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资源已被分配。