部署SRIOV-KAE设备直通插件
部署SRIOV-KAE设备直通插件,须在主节点和计算节点上导入镜像,并且打开网卡设备的VF功能,创建足够数量的VF设备。请参见编译SRIOV-KAE设备直通插件。
修改SRIOV-KAE设备直通插件配置文件
configMap.yaml是SRIOV-KAE设备直通插件的设备配置文件,该文件描述了插件需管理的设备,即用户期望直通的设备。
- 在计算节点查看需要使用的KAE设备的VF的PCI地址。
1
lspci | grep HPRE
实际使用时创建的KAE设备的VF可能不只一个,选择其中一个VF的pci地址查找即可,因为所有VF的“vendors”、“devices”、“drivers”都是一样的
- 根据1回显信息确认需要使用VF设备的PCI地址是“3a:00.2”,然后执行以下命令进一步确认设备的“vendors”和“devices”。其中“vendors”是“19e5”,“devices”是“a259”。
lspci -n | grep 3a
- 确认设备对应的驱动“drivers”。在输出中找到PCI地址为“3a:00.2”的设备对应的驱动名称。
lspci -k
- 得到“vendors”、“devices”、“drivers”的信息后,填写到configMap.yaml文件中。被管理的SR-IOV设备必须在SRIOV-KAE设备直通插件源码目录下的“deployments/configMap.yaml”文件中进行声明,每一个SR-IOV设备对应resourceList中的一项,下面给出一个示例的configMap.yaml文件,并对参数说明。
- 打开“deployments/configMap.yaml”文件。
1 2
cd /path/to/sriov-network-device-plugin vi deployments/configMap.yaml
- 按“i”进入编辑模式,在文件中声明SR-IOV设备,在“resourceList”当中添加对应项,具体参数含义参见表1。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
apiVersion: v1 kind: ConfigMap metadata: name: sriovdp-config namespace: kube-system data: config.json: | { "resourceList": [ { "resourceName": "huawei_hpre_device", "resourcePrefix": "huawei.com", "deviceType":"accelerator", "selectors": { "vendors": ["19e5"], "devices": ["a259"], "drivers": ["hisi_hpre"], "pfNames" : [ensp133s0] } } ] }
表1 configMap.yaml文件参数说明 参数
说明
约束条件
resourceName
资源的名字,可自定义。
不能重复并且不能包含特殊字符。
resourcePrefix
资源名称的前缀,可自定义。
不能包含特殊字符,可以写成xx.com,例如huawei.com。
deviceType
设备的类型。
目前支持的值有:accelerator、netDevice、auxNetDevice,默认值是netDevice。
selectors
资源筛选器。
只有与selectors里面填写的筛选条件相同的设备才会被管理。
vendors
设备的厂商号,比如华为的vendors是19e5,具体的查看方法参见2。
-
devices
设备的设备号,具体的查看方法参见2。
-
drivers
设备使用的驱动名字,具体的查看方法参见3。
-
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“deployments/configMap.yaml”文件。
部署SRIOV-KAE设备直通插件
- 在主节点进入SRIOV-KAE源码目录“/path/to/sriov-network-device-plugin”,执行部署命令。configMap.yaml文件中设置了期望使用的SR-IOV设备,如何编写configMap里的内容请参考KAE设备直通。
1 2 3
cd /path/to/sriov-network-device-plugin kubectl apply -f deployments/configMap.yaml kubectl apply -f deployments/sriovdp-daemonset.yaml
- 查看部署情况。
1
kubectl -n kube-system get pod
如果部署成功,回显示例如下。kube-sriov-device-plugin的数量与集群节点的数量保持一致。
1 2 3 4
NAME READY STATUS RESTARTS AGE kube-sriov-device-plugin-wkmrd 1/1 Running 0 14d kube-sriov-device-plugin-xvcs3 1/1 Running 0 14d kube-sriov-device-plugin-fgsa2 1/1 Running 0 14d
父主题: 部署