8.5. 使用 OpenStackNetConfig 创建 VLAN 网络进行网络隔离
您必须创建额外网络来为可组合网络实施网络隔离。要实现此网络隔离,您可以将可组合网络放在单独的 VLAN 网络中。除了 IP 地址分配外,OpenStackNetConfig 资源还包括用于定义 OpenShift Virtualization 用来将任何虚拟机附加到 VLAN 网络的网络配置策略的信息。
要使用默认的 Red Hat OpenStack Platform 网络,您必须创建一个定义每个网络的 OpenStackNetConfig 资源。
Network | VLAN | CIDR | 分配 |
---|---|---|---|
外部 | 10 | 10.0.0.0/24 | 10.0.0.10 - 10.0.0.250 |
InternalApi | 20 | 172.17.0.0/24 | 172.17.0.10 - 172.17.0.250 |
存储 | 30 | 172.18.0.0/24 | 172.18.0.10 - 172.18.0.250 |
StorageMgmt | 40 | 172.19.0.0/24 | 172.19.0.10 - 172.19..250 |
租户 | 50 | 172.20.0.0/24 | 172.20.0.10 - 172.20.0.250 |
要为每个网络使用不同的网络详情,您必须创建一个自定义 network_data.yaml
文件。
前提条件
- 确保 OpenShift Container Platform 集群正常运行,并且已正确安装了 director Operator。
-
确保已在工作站上安装了
oc
命令行工具。
流程
为您的网络配置创建一个文件。包括 VLAN 网络的资源规格。例如,每个 worker 节点上管理 VLAN 标记的流量的 API、存储、存储 mgmt、租户和外部网络的规格通过 Linux 网桥
br-ex
和br-osp
连接到enp6s0
和enp7s0
以太网设备:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您将 VLAN 用于
linux-bridge
时,会出现以下情况:-
director Operator 为资源中指定的网桥接口创建一个 Node Network Configuration 策略,它使用
nmstate
在 worker 节点上配置桥接。 -
director Operator 为每个网络创建一个 Network Attach Definition,用于定义 Multus CNI 插件配置。当您在 Network Attach Definition 中指定 VLAN ID 时,Multus CNI 插件会在网桥上启用
vlan-filtering
。 -
director Operator 附加虚拟机上每个网络的专用接口。这意味着,
OpenStackVMSet
的网络模板是一个多 NIC 网络模板。
在资源规格中设置以下值:
metadata.name
- 将 设置为 OpenStackNetConfig 的名称。
spec
设置用于附加网络和网络特定网络配置。有关本节中可以使用的值的描述,请查看
openstacknetconfig
CRD 的自定义资源定义中的规格模式:oc describe crd openstacknetconfig
$ oc describe crd openstacknetconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
配置完网络规格后保存文件。
-
director Operator 为资源中指定的网桥接口创建一个 Node Network Configuration 策略,它使用
创建网络配置:
oc apply -f openstacknetconfig.yaml -n openstack
$ oc apply -f openstacknetconfig.yaml -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看 OpenStackNetConfig API 并创建的子资源:
oc get openstacknetconfig/openstacknetconfig -n openstack oc get openstacknetattachment -n openstack oc get openstacknet -n openstack
$ oc get openstacknetconfig/openstacknetconfig -n openstack $ oc get openstacknetattachment -n openstack $ oc get openstacknet -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您看到错误,请检查底层
network-attach-definition
和 node 网络配置策略:oc get network-attachment-definitions -n openstack oc get nncp
$ oc get network-attachment-definitions -n openstack $ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow