11.7. 使用虚拟功能提高网络流量性能


按照以下步骤,为 OVN-Kubernetes 管理端口分配虚拟功能,并提高其网络流量性能。

此流程会导致创建两个池:第一个池具有 OVN-Kubernetes 使用的虚拟功能,第二个由剩余的虚拟功能组成。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 运行以下命令,将 network.operator.openshift.io/smart-nic 标签添加到带有 SmartNIC 的每个 worker 节点:

    $ oc label node <node-name> network.operator.openshift.io/smart-nic=
    Copy to Clipboard Toggle word wrap

    使用 oc get nodes 命令获取可用节点的列表。

  2. 为管理端口创建一个名为 sriov-node-mgmt-vf-policy.yaml 的策略,其内容如下:

    apiVersion: sriovnetwork.openshift.io/v1
    kind: SriovNetworkNodePolicy
    metadata:
      name: sriov-node-mgmt-vf-policy
      namespace: openshift-sriov-network-operator
    spec:
      deviceType: netdevice
      eSwitchMode: "switchdev"
      nicSelector:
        deviceID: "1019"
        rootDevices:
        - 0000:d8:00.0
        vendor: "15b3"
        pfNames:
        - ens8f0#0-0 
    1
    
      nodeSelector:
        network.operator.openshift.io/smart-nic: ""
      numVfs: 6 
    2
    
      priority: 5
      resourceName: mgmtvf
    Copy to Clipboard Toggle word wrap
    1
    根据您的用例,将此设备替换为适当的网络设备。pfNames 值的 #0-0 部分保留了 OVN-Kubernetes 使用的一个虚拟功能。
    2
    此处提供的值是一个示例。使用满足您的要求替换这个值。如需更多信息,请参阅附加资源部分中的 SR-IOV 网络配置对象
  3. 创建名为 sriov-node-policy.yaml 的策略,其内容如下:

    apiVersion: sriovnetwork.openshift.io/v1
    kind: SriovNetworkNodePolicy
    metadata:
      name: sriov-node-policy
      namespace: openshift-sriov-network-operator
    spec:
      deviceType: netdevice
      eSwitchMode: "switchdev"
      nicSelector:
        deviceID: "1019"
        rootDevices:
        - 0000:d8:00.0
        vendor: "15b3"
        pfNames:
        - ens8f0#1-5 
    1
    
      nodeSelector:
        network.operator.openshift.io/smart-nic: ""
      numVfs: 6 
    2
    
      priority: 5
      resourceName: mlxnics
    Copy to Clipboard Toggle word wrap
    1
    根据您的用例,将此设备替换为适当的网络设备。
    2
    此处提供的值是一个示例。使用 sriov-node-mgmt-vf-policy.yaml 文件中指定的值替换这个值。如需更多信息,请参阅附加资源部分中的 SR-IOV 网络配置对象
    注意

    sriov-node-mgmt-vf-policy.yaml 文件具有与 sriov-node-policy.yaml 文件不同的 pfNamesresourceName 键的值。

  4. 为这两个策略应用配置:

    $ oc create -f sriov-node-policy.yaml
    Copy to Clipboard Toggle word wrap
    $ oc create -f sriov-node-mgmt-vf-policy.yaml
    Copy to Clipboard Toggle word wrap
  5. 在集群中创建 Cluster Network Operator (CNO) ConfigMap 以进行管理配置:

    1. 创建名为 hardware-offload-config.yaml 的 ConfigMap,其内容如下:

      apiVersion: v1
      kind: ConfigMap
      metadata:
          name: hardware-offload-config
          namespace: openshift-network-operator
      data:
          mgmt-port-resource-name: openshift.io/mgmtvf
      Copy to Clipboard Toggle word wrap
    2. 应用 ConfigMap 的配置:

      $ oc create -f hardware-offload-config.yaml
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat