8.2. 为启用 SR-IOV 的工作负载配置 QinQ 支持
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您可以使用具有
cluster-admin角色的用户访问集群。 - 已安装 SR-IOV Network Operator。
流程
使用以下内容创建一个名为
sriovnetpolicy-810-sriov-node-network.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
SriovNetworkNodePolicy对象:oc create -f sriovnetpolicy-810-sriov-node-network.yaml
$ oc create -f sriovnetpolicy-810-sriov-node-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开一个单独的终端窗口,运行以下命令来监控
openshift-sriov-network-operator命名空间中指定节点的 SR-IOV 网络节点状态的同步状态:watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'$ watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同步状态表示从
InProgress更改为Succeeded。创建一个
SriovNetwork对象,并设置名为 S-tag 或Service Tag的外部 VLAN,因为它属于基础架构。重要您必须在交换机的中继接口上配置 VLAN。另外,您可能需要进一步配置一些交换机来支持 QinQ 标记。
使用以下内容创建一个名为
nad-sriovnetwork-1ad-810.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建对象:
oc create -f nad-sriovnetwork-1ad-810.yaml
$ oc create -f nad-sriovnetwork-1ad-810.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用内部 VLAN 创建
NetworkAttachmentDefinition对象。内部 VLAN 通常被称为 C-tag 或Customer Tag,它属于 Network Function:使用以下内容,创建一个名为
nad-cvlan100.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定 pod 中的 VF 接口。默认名称为
net1,因为 pod 注解中没有设置名称。
运行以下命令来应用 YAML 文件:
oc apply -f nad-cvlan100.yaml
$ oc apply -f nad-cvlan100.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
按照以下步骤,在节点上验证 QinQ 是否活跃:
使用以下内容创建一个名为
test-qinq-pod.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建测试 pod:
oc create -f test-qinq-pod.yaml
$ oc create -f test-qinq-pod.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在存在 pod 的目标节点上进入 debug 会话,运行以下命令显示网络接口
ens5f0的信息:oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
$ oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出中的
vlan protocol 802.1adID 表示接口支持带有协议 802.1ad (QinQ)的 VLAN 标记。VLAN ID 为 171。