第 17 章 使用路由器类别创建自定义虚拟路由器


重要

本节中的内容 作为技术预览提供,因此不受红帽完全支持。它只应用于测试,不应部署在生产环境中。如需更多信息,请参阅 技术预览

您可以使用路由器类别在 Red Hat OpenStack Platform (RHOSP) ML2/OVN 环境中部署自定义虚拟路由器。在 RHOSP 管理员启用路由器类别功能并创建路由器类别后,用户可以使用路由器类别创建自定义路由器。

在 RHOSP 部署中,您可以将基于路由器类别的虚拟自定义路由器与默认 OVN 类型的路由器合并。

使用路由器类别不会影响默认 OVN 路由器的操作。使用路由器类别时,默认的 OVN 路由器被视为默认路由器类别,不会影响其配置或操作。

要设置路由器类别并创建自定义路由器,请执行以下步骤:

  1. 管理员加载所需的 RHOSP Networking 服务(neutron)插件并指定服务供应商。

    请参阅 第 17.1 节 “启用路由器类别并创建服务提供商”

  2. 管理员创建路由器类别。

    请参阅 第 17.2 节 “创建路由器类型”

  3. 用户使用其中一个路由器类别创建自定义路由器。

    请参阅 第 17.3 节 “创建自定义虚拟路由器”

17.1. 启用路由器类别并创建服务提供商

在 Red Hat OpenStack Platform (RHOSP)管理员可以创建路由器类别前,管理员必须首先加载必要的 RHOSP Networking 服务(neutron)插件并指定服务供应商。

管理员必须在网络服务目录中的模块中部署服务提供商代码。红帽建议 neutron.services.ovn_l3.service_providers.user_defined 模块。

您可以在 neutron.services.ovn_l3.service_providers.user_defined 模块中找到名为 UserDefined 的示例服务提供商。

注意

以下流程涉及直接编辑 Controller 节点上的 .conf 文件。红帽正在开发 heat 模板方法和 OpenStack 命令,以取代此直接编辑方法。

先决条件

  • 您的网络服务机制驱动程序必须是 ML2/OVN。
  • 您已为部署创建了路由器类别服务供应商。
  • 您可以访问 RHOSP Controller 节点并更新配置文件的权限。

流程

  1. 在其中一个 Controller 节点上,打开文件 /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf
  2. service_plugins 列表中,将 ovn-routers 更改为 ovn-router-flavors-ha:

    [DEFAULT]
    service_plugins = qos,ovn-router-flavors-ha,trunk,segments,port_forwarding,log
  3. 创建 service_providers 部分,并为计划使用的每个路由器类型添加服务提供商定义。

    示例

    在本例中,添加了服务供应商 user_defined_1

    ...
    [service_providers]
    service_provider = L3_ROUTER_NAT:user_defined_1:neutron.services.ovn_l3.service_providers.user_defined.UserDefined1

    路由器类别服务提供商定义具有以下元素:

    服务供应商常数
    L3_ROUTER_NAT
    Name

    服务提供商的名称,它是两个冒号字符之间的描述性字符串。

    例如,:user_defined_1:。名称在环境中必须是唯一的。

    路径
    红帽建议使用此路径: neutron.services.ovn_l3.service_providers.user_defined

    服务提供商的 python 类名称。

    每个提供程序都有自己的类。例如,UserDefined1

    注意

    保留此类名称及其路径。您稍后创建路由器类别时需要它。

  4. 重启 Networking 服务(neutron):

    $ sudo podman restart neutron_api
  5. 在剩余的 RHOSP Controller 节点上执行这些步骤 1 - 4。

验证

  • 验证 Networking 服务是否已载入您的用户定义的服务提供商:

    $ openstack network service provider list

    如果流程成功,新服务会出现在列表中。

    输出示例

    +-------------------------+-------+---------+
    | Service Type  | Name            | Default |
    +---------------+-----------------+---------+
    | L3_ROUTER_NAT | user_defined_1  | False   |
    | L3_ROUTER_NAT | ovn             | True    |
    +---------------+-----------------+---------+

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.