鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

部署SRIOV-KAE设备直通插件

部署SRIOV-KAE设备直通插件,须在主节点和计算节点上导入镜像,并且打开网卡设备的VF功能,创建足够数量的VF设备。请参见编译SRIOV-KAE设备直通插件

修改SRIOV-KAE设备直通插件配置文件

configMap.yaml是SRIOV-KAE设备直通插件的设备配置文件,该文件描述了插件需管理的设备,即用户期望直通的设备。

  1. 在计算节点查看需要使用的KAE设备的VF的PCI地址。
    1
    lspci | grep HPRE
    

    实际使用时创建的KAE设备的VF可能不只一个,选择其中一个VF的pci地址查找即可,因为所有VF的“vendors”“devices”“drivers”都是一样的

  2. 根据1回显信息确认需要使用VF设备的PCI地址是“3a:00.2”,然后执行以下命令进一步确认设备的“vendors”“devices”
    其中“vendors”“19e5”“devices”“a259”
    lspci -n | grep 3a

  3. 确认设备对应的驱动“drivers”
    在输出中找到PCI地址为“3a:00.2”的设备对应的驱动名称。
    lspci -k

  4. 得到“vendors”“devices”“drivers”的信息后,填写到configMap.yaml文件中。被管理的SR-IOV设备必须在SRIOV-KAE设备直通插件源码目录下的“deployments/configMap.yaml”文件中进行声明,每一个SR-IOV设备对应resourceList中的一项,下面给出一个示例的configMap.yaml文件,并对参数说明。
    1. 打开“deployments/configMap.yaml”文件。
      1
      2
      cd /path/to/sriov-network-device-plugin
      vi deployments/configMap.yaml
      
    2. “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

      -

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

部署SRIOV-KAE设备直通插件

  1. 在主节点进入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
    
  2. 查看部署情况。
    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