7.17.5.2. 配置 SR-IOV 额外网络
您可以通过创建一个 SriovNetwork
对象来配置使用 SR-IOV 硬件的额外网络。创建 SriovNetwork
对象时,SR-IOV Operator 会自动创建一个 NetworkAttachmentDefinition
对象。
然后,用户可以通过在虚拟机配置中指定网络将虚拟机附加到 SR-IOV 网络中。
如果一个 SriovNetwork
对象已被附加到状态为 running
的 Pod 或虚拟机上,则不能修改或删除它。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
特权的用户身份登录。
流程
-
创建以下
SriovNetwork
对象,然后在<name>-sriov-network.yaml
文件中保存 YAML。用这个额外网络的名称替换<name>
。
apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: <name> 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: <sriov_resource_name> 3 networkNamespace: <target_namespace> 4 vlan: <vlan> 5 spoofChk: "<spoof_check>" 6 linkState: <link_state> 7 maxTxRate: <max_tx_rate> 8 minTxRate: <min_rx_rate> 9 vlanQoS: <vlan_qos> 10 trust: "<trust_vf>" 11 capabilities: <capabilities> 12
- 1
- 将
<name>
替换为对象的名称。SR-IOV Network Operator 创建一个名称相同的NetworkAttachmentDefinition
对象。 - 2
- 指定 SR-IOV Network Operator 安装到的命名空间。
- 3
- 将
<sriov_resource_name>
替换为来自为这个额外网络定义 SR-IOV 硬件的SriovNetworkNodePolicy
对象的.spec.resourceName
参数的值。 - 4
- 将
<target_namespace>
替换为 SriovNetwork 的目标命名空间。只有目标命名空间中的 pod 或虚拟机可以附加到 SriovNetwork。 - 5
- 可选:使用额外网络的虚拟 LAN (VLAN) ID 替换
<vlan>
。它需要是一个从0
到4095
范围内的一个整数值。默认值为0
。 - 6
- 可选:将
<spoof_check>
替换为 VF 的 spoof 检查模式。允许的值是字符串"on"
和"off"
。重要指定的值必须由引号包括,否则 SR-IOV Network Operator 将拒绝 CR。
- 7
- 可选:将
<link_state>
替换为 Virtual Function (VF) 的链接状态。允许的值是enable
、disable
和auto
。 - 8
- 可选:将
<max_tx_rate>
替换为 VF 的最大传输率(以 Mbps 为单位)。 - 9
- 可选:将
<min_tx_rate>
替换为 VF 的最小传输率(以 Mbps 为单位)。这个值应该总是小于或等于最大传输率。注意Intel NIC 不支持
minTxRate
参数。如需更多信息,请参阅 BZ#1772847。 - 10
- 可选:将
<vlan_qos>
替换为 VF 的 IEEE 802.1p 优先级级别。默认值为0
。 - 11
- 可选:将
<trust_vf>
替换为 VF 的信任模式。允许的值是字符串"on"
和"off"
。重要指定的值必须由引号包括,否则 SR-IOV Network Operator 将拒绝 CR。
- 12
- 可选:将
<capabilities>
替换为为这个网络配置的功能。
运行以下命令来创建对象。用这个额外网络的名称替换
<name>
。$ oc create -f <name>-sriov-network.yaml
可选: 要确认与您在上一步中创建的
SriovNetwork
对象关联的NetworkAttachmentDefinition
对象是否存在,请输入以下命令。将<namespace>
替换为您在SriovNetwork
对象中指定的命名空间。$ oc get net-attach-def -n <namespace>