大规模并行计算(如分布式训练)对节点间通信延迟要求极高。RDMA Device Plugin组件将灵骏节点的RDMA网卡注册为Pod可调度的Kubernetes扩展资源,实现绕过内核协议栈的低延迟通信。
RDMA使用模式
RDMA Device Plugin支持共享模式和独占模式:
RDMA 模式 | 模式说明 | 使用限制 |
shared(共享) | 默认模式。将RDMA设备以1000个虚拟ID注册为 | 不支持设备隔离。不支持NUMA亲和。 |
exclusive(独占) | 以真实PCI地址将RDMA设备注册为 | 详见使用RDMA独占模式。 |
RDMA 支持以下三种使用方式,其中共享模式分为HostNetwork和非HostNetwork,独占模式为非 HostNetwork 方式:
使用方式 | 网络模式 | 灵骏IPv6要求 | 适用场景 |
HostNetwork + 共享 |
| 不需要 | 最高网络性能,多Pod共享网卡 |
非HostNetwork + 共享 |
| 需要 | Pod独立IP + RDMA |
非HostNetwork + 独占 |
| 需要 | Pod独占物理网卡、设备隔离、NUMA亲和 |
非HostNetwork 模式要求灵骏裸金属集群的计算网络IP版本为IPv6。创建灵骏裸金属集群时必须选择IPv6模式,否则RDMA配置不生效。
适用范围
ACK托管集群Pro版,已添加灵骏节点。具体操作,请参见灵骏节点池。
灵骏节点配备RDMA网卡并驱动正常。更多信息,请参见使用RDMA共享模式和使用RDMA独占模式。
安装RDMA Device Plugin组件
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在组件管理页面,单击安装组件,定位ack-rdma-device-plugin组件,按照页面提示配置组件并完成安装。
配置项
说明
开启 RDMA 网络支持(非 hostNetwork模式)
可选值:
False(不勾选):仅允许HostNetwork模式的 Pod 使用 RDMA 网络。
True(勾选):允许非HostNetwork模式的Pod使用 RDMA 网络。
开启前,请确认ACK集群关联的灵骏裸金属集群使用的网络版本为IPv6,否则RDMA配置不生效。
customResourceName 自定义 RDMA 资源名称
RDMA资源名,默认为
rdma/hca。支持自定义。结果验证
安装完成后,确认RDMA Device Plugin已正常运行:
kubectl get ds ack-rdma-dp-ds -n kube-system预期输出:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE ack-rdma-dp-ds 2 2 2 2 2 <none> xxh检查节点是否上报
rdma/hca资源:kubectl describe node <node-name> | grep rdma/hca共享模式下预期输出:
rdma/hca: 1k独占模式下预期输出:
rdma/hca: 4(真实设备数,因机型而异)
配额与限制
两种模式使用相同的资源名
rdma/hca(可自定义),通过节点标签区分。模式切换前,需确保该节点上没有正在使用
rdma/hca资源的Pod,否则分配逻辑会出问题。模式切换需通过节点池操作。独占模式的使用限制详见使用RDMA独占模式。