k8s中pod使用RDMA网卡的方法(待验证)

由于公租上越来越多的接触到RDMA网卡,所以在k8s中使用InfinaBand网卡的场景也会遇到,所以在k8s中使用IB网卡的方案也需要进行记录,方便后续使用。

IB网卡提供了低延迟大带宽、高吞吐等特点的高性能网络,适用于AI训练场景,我们今天就来记录下实现的方法。

1.安装IB网卡驱动

我们首先去https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/下载合适的IB网卡驱动程序

tar -xvf MLNX_OFED_LINUX-*.tgz
cd MLNX_OFED_LINUX-*
sudo ./mlnxofedinstall --auto-add-kernel-support --force
sudo /etc/init.d/openibd restart

上述安装好驱动以后可以使用命令进行IB网卡的检查。

2.安装IB网卡的CNI插件

kubectl apply -f https://raw.githubusercontent.com/Mellanox/rdma-cni/master/k8s-rdma-cni.yaml

3.创建IB网卡的网络资源

cat ib-rdma.yaml
apiVersion: "rdma.cni.k8s.io/v1"
kind: RDMAConfiguration
metadata:
name: ib-network
spec:
ibDevices: ["mlx5_1,mlx5_2,mlx5_3,mlx5_4"]

然后使用命令进行创建

kubectl apply -f ib-rdma.yaml

4.创建业务POD使用IB网卡

实际和使用其他资源一样,使用request中的limits资源的方式

resources:
  limits:
    rdma/ib-network: 1

然后使用apply命令创建资源即可。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1092

评论列表

0%