4.2. 定义叶角色和附加网络


Red Hat OpenStack Platform (RHOSP) director 为每个叶组创建一个可组合角色,并将可组合网络附加到您构建的 roles 模板中的每个对应的角色。首先,从 director 核心模板复制默认的 Controller、Compute 和 Ceph Storage 角色,并进行修改以满足您的环境的需求。创建所有单独的角色后,您将运行 openstack overcloud roles generate 命令,将它们串联为一个大型自定义角色数据文件。

先决条件

  • 访问 stack 用户的 undercloud 主机和凭据。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 将 RHOSP 附带的 Controller、Compute 和 Ceph Storage 角色的默认角色复制到 stack 用户的主目录。重命名文件以指示它们是叶的 0 :

    $ cp /usr/share/openstack-tripleo-heat-templates/roles/Controller.yaml \
    ~/roles/Controller0.yaml
    $ cp /usr/share/openstack-tripleo-heat-templates/roles/Compute.yaml \
    ~/roles/Compute0.yaml
    $ cp /usr/share/openstack-tripleo-heat-templates/roles/CephStorage.yaml \
    ~/roles/CephStorage0.yaml
    Copy to Clipboard Toggle word wrap
  4. 复制 leaf 0 文件以创建您的叶 1 和叶 2 文件:

    $ cp ~/roles/Controller0.yaml ~/roles/Controller1.yaml
    $ cp ~/roles/Controller0.yaml ~/roles/Controller2.yaml
    $ cp ~/roles/Compute0.yaml ~/roles/Compute1.yaml
    $ cp ~/roles/Compute0.yaml ~/roles/Compute2.yaml
    $ cp ~/roles/CephStorage0.yaml ~/roles/CephStorage1.yaml
    $ cp ~/roles/CephStorage0.yaml ~/roles/CephStorage2.yaml
    Copy to Clipboard Toggle word wrap
  5. 编辑每个文件中的参数,使其与对应的叶参数保持一致。

    提示

    有关角色数据模板中的各种参数的信息,请参阅自定义 Red Hat OpenStack Platform 部署 指南中的 检查 角色参数。

    示例 - ComputeLeaf0

    - name: ComputeLeaf0
      HostnameFormatDefault: '%stackname%-compute-leaf0-%index%'
    Copy to Clipboard Toggle word wrap

    示例 - CephStorageLeaf0

    - name: CephStorageLeaf0
      HostnameFormatDefault: '%stackname%-cephstorage-leaf0-%index%'
    Copy to Clipboard Toggle word wrap

  6. 编辑 leaf 1 和 leaf 2 文件中的 network 参数,以便它们与对应的 leaf network 参数保持一致。

    示例 - ComputeLeaf1

    - name: ComputeLeaf1
      networks:
        InternalApi:
          subnet: internal_api_leaf1
        Tenant:
          subnet: tenant_leaf1
        Storage:
          subnet: storage_leaf1
    Copy to Clipboard Toggle word wrap

    示例 - CephStorageLeaf1

    - name: CephStorageLeaf1
      networks:
        Storage:
          subnet: storage_leaf1
        StorageMgmt:
          subnet: storage_mgmt_leaf1
    Copy to Clipboard Toggle word wrap

    注意

    这只适用于 leaf 1 和 leaf 2。leaf 0 的 network 参数保留基本子网值,这些值是每个子网的小写名称以及 _subnet 后缀。例如,leaf 0 的内部 API 是 internal_api_subnet

  7. 在每个 Controller、Compute 和 (如果存在)Networker 角色文件中,将 OVN BGP 代理添加到 ServicesDefault 参数下的服务列表中:

    示例

    - name: ControllerRack1
      ...
      ServicesDefault:
        ...
        - OS::TripleO::Services::Frr
        - OS::TripleO::Services::OVNBgpAgent
        ...
    Copy to Clipboard Toggle word wrap

  8. 角色配置完成后,运行 overcloud 角色 generate 命令来生成完整的角色数据文件。

    示例

    $ openstack overcloud roles generate --roles-path ~/roles \
    -o spine-leaf-roles-data.yaml Controller Compute Compute1 Compute2 \
    CephStorage CephStorage1 CephStorage2
    Copy to Clipboard Toggle word wrap

    这会创建一个自定义角色数据文件,其中包含每个对应叶网络的所有自定义角色。

后续步骤

  1. 注意 overcloud 角色生成命令创建的自定义角色数据文件的路径和文件名。在稍后部署 overcloud 时会使用此路径。
  2. 继续下一步,为叶角色创建自定义 NIC 配置
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat