4.4. 为 BGP 创建数据平面网络
要创建 data plane 网络,请定义一个 NetConfig 自定义资源(CR)并为 data plane 网络指定所有子网。您必须为您的数据平面至少定义一个 control plane 网络。您还可以定义 VLAN 网络,为可组合网络创建网络隔离,如 InternalAPI、Storage 和 External。每个网络定义必须包含 IP 地址分配。
使用以下命令查看 NetConfig CRD 定义和规格模式:
oc describe crd netconfig oc explain netconfig.spec
$ oc describe crd netconfig
$ oc explain netconfig.spec
流程
-
在工作站上创建一个名为
netconfig_bgp.yaml的文件。 将以下配置添加到
netconfig_bgp.yaml以创建NetConfigCR:apiVersion: network.openstack.org/v1beta1 kind: NetConfig metadata: name: bgp-netconfig namespace: openstack
apiVersion: network.openstack.org/v1beta1 kind: NetConfig metadata: name: bgp-netconfig namespace: openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
netconfig_bgp.yaml文件中,为每个 data plane 网络定义拓扑。要在 OpenShift (RHOSO)网络中使用默认的 Red Hat OpenStack Services,您必须为每个网络定义一个规格。有关默认 RHOSO 网络的信息,请参阅 BGP 的 OpenShift 网络上的默认 Red Hat OpenStack Services。以下示例为数据平面创建隔离网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
netconfig_bgp.yaml文件中,定义在每个区内建立连接的网络接口。以下示例定义了两个网络接口,eth2的bgpnet0和bgpnet1用于 'eth3,每个区都有一个子网:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
netconfig_bgp.yaml文件中,配置 loopback 接口bgpmainnet的 IP 地址,供每个节点用来相互通信:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存 ' netconfig_bgp.yaml' 定义文件。
创建 data plane 网络:
oc create -f netconfig_bgp.yaml -n openstack
$ oc create -f netconfig_bgp.yaml -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
bgpconfig.yml的BGPConfigurationCR 文件,以通过 BGP 声明 pod 的 IP 地址:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
BGPConfigurationCR,为每个 pod 创建所需的 FRR 配置:oc create -f bgpconfig.yml
$ oc create -f bgpconfig.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证是否已创建 data plane 网络:
oc get netconfig/openstacknetconfig -n openstack
$ oc get netconfig/openstacknetconfig -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您看到错误,请检查底层
network-attach-definition和节点网络配置策略:oc get network-attachment-definitions -n openstack oc get nncp
$ oc get network-attachment-definitions -n openstack $ oc get nncpCopy to Clipboard Copied! Toggle word wrap Toggle overflow