第 3 章 使用 director Operator 创建网络


使用 OpenStackNetConfig 资源在 OpenShift Virtualization worker 节点上创建网络和网桥,将虚拟机连接至这些网络。您必须为 overcloud 创建一个 control plane 网络,额外网络才能为您的可组合网络实施网络隔离。

3.1. 了解使用 OpenStackNet 的虚拟机桥接

使用 OpenStackVMSet 资源创建虚拟机时,必须将这些虚拟机连接到相关的 Red Hat OpenStack Platform (RHOSP)网络。OpenStackNetConfig 资源包含一个 attachConfigurations 选项,该选项是 nodeNetworkConfigurationPolicy 的哈希。OpenStackNetConfig 中的每个指定的 attachConfiguration 都会创建一个 OpenStackNet Attachment,它将网络接口数据传递给 OpenShift 中的 NodeNetworkConfigurationPolicy 资源。NodeNetworkConfigurationPolicy 资源使用 nmstate API 来配置每个 OCP worker 节点上网络配置的结束状态。在 OpenStackNetConfig 中配置的每个网络都引用 attachConfigurations 中的一个。在虚拟机中,每个网络有一个接口。通过此方法,您可以在 OCP worker 节点上创建所需的网桥,并将 Controller 虚拟机连接到 RHOSP 网络。

例如,如果您创建一个 br-osp attachConfiguration,并设置 nodeNetworkConfigurationPolicy 选项,以创建 Linux 网桥并将网桥连接到每个 worker 上的 NIC,P NodeNetworkConfigurationPolicy 资源将每个 OCP worker 节点配置为与此所需的最终状态匹配:

apiVersion: osp-director.openstack.org/v1beta1
kind: OpenStackNetConfig
metadata:
  name: openstacknetconfig
spec:
  attachConfigurations:
    br-osp:
      nodeNetworkConfigurationPolicy:
        nodeSelector:
          node-role.kubernetes.io/worker: ""
        desiredState:
          interfaces:
          - bridge:
              options:
                stp:
                  enabled: false
              port:
              - name: enp6s0
            description: Linux bridge with enp6s0 as a port
            name: br-osp
            state: up
            type: linux-bridge
            mtu: 1500
…
  networks:
  - name: Control
    nameLower: ctlplane
    subnets:
    - name: ctlplane
      ipv4:
        allocationEnd: 192.168.25.250
        allocationStart: 192.168.25.100
        cidr: 192.168.25.0/24
        gateway: 192.168.25.1
      attachConfiguration: br-osp
Copy to Clipboard Toggle word wrap

应用此配置后,每个 worker 都会包含一个名为 br-osp 的新网桥,该网桥连接到每一主机上的 enp6s0 NIC。部署 RHOSP 需要专用 NIC。所有 RHOSP Controller 虚拟机都可以连接到 control plane 网络流量的 br-osp 网桥。

如果您通过 VLAN 20 指定内部 API 网络,您可以设置 attachConfiguration 选项来修改每个 OCP worker 节点上的网络配置,并将 VLAN 连接到现有的 br-osp 网桥:

apiVersion: osp-director.openstack.org/v1beta1
kind: OpenStackNetConfig
metadata:
  name: openstacknetconfig
spec:
  attachConfigurations:
    br-osp:
…
  networks:
…
 - isControlPlane: false
    mtu: 1500
    name: InternalApi
    nameLower: internal_api
    subnets:
    - attachConfiguration: br-osp
      ipv4:
        allocationEnd: 172.17.0.250
        allocationStart: 172.17.0.10
        cidr: 172.17.0.0/24
        gateway: 172.17.0.1
        routes:
        - destination: 172.17.1.0/24
          nexthop: 172.17.0.1
        - destination: 172.17.2.0/24
          nexthop: 172.17.0.1
      name: internal_api
      vlan: 20
Copy to Clipboard Toggle word wrap

br-osp 已存在,并连接到每一主机上的 enp6s0 NIC,因此不会更改网桥本身。但是,InternalAPI OpenStackNet 将 VLAN 20 关联到这个网络,这意味着 RHOSP Controller 虚拟机可以连接到 br-osp 网桥上的 VLAN 20 用于内部 API 网络流量。

当您使用 OpenStackVMSet 资源创建虚拟机时,虚拟机会使用连接到每个网络的多个 Virtio 设备。OpenShift Virtualization 按字母顺序排序网络名称,但 默认网络 除外,这是第一个接口。

例如,如果您使用 OpenStackNetConfig 创建默认 RHOSP 网络,则 Controller 虚拟机的接口配置类似以下示例:

interfaces:
  - masquerade: {}
    model: virtio
    name: default
  - bridge: {}
    model: virtio
    name: ctlplane
  - bridge: {}
    model: virtio
    name: external
  - bridge: {}
    model: virtio
    name: internalapi
  - bridge: {}
    model: virtio
    name: storage
  - bridge: {}
    model: virtio
    name: storagemgmt
  - bridge: {}
    model: virtio
    name: tenant
Copy to Clipboard Toggle word wrap

此配置为 Controller 节点生成以下 network-to-interface 映射:

Expand
表 3.1. 默认 network-to-interface 映射
NetworkInterface

default

nic1

ctlplane

nic2

external

nic3

internalapi

nic4

storage

nic5

storagemgmt

nic6

tenant

nic7

注意

OpenStackVMSet 使用的角色 NIC 模板是自动生成的。通过在 tarball 文件中添加 nic-template.role.j2 文件可覆盖它。将 tarball 文件的二进制内容包括在 OpenShift ConfigMap 名称 tripleo-tarball-config 中。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat