4.2. 定义叶角色和附加网络
Red Hat OpenStack Platform (RHOSP) director 为每个叶组创建一个可组合角色,并将可组合网络附加到您构建的 roles 模板中的每个对应的角色。首先,从 director 核心模板复制默认的 Controller、Compute 和 Ceph Storage 角色,并进行修改以满足您的环境的需求。创建所有单独的角色后,您将运行 openstack overcloud roles generate
命令,将它们串联为一个大型自定义角色数据文件。
先决条件
-
访问
stack
用户的 undercloud 主机和凭据。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
将 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
复制 leaf 0 文件以创建您的叶 1 和叶 2 文件:
$ 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
编辑每个文件中的参数,使其与对应的叶参数保持一致。
提示有关角色数据模板中的各种参数的信息,请参阅自定义 Red Hat OpenStack Platform 部署 指南中的 检查 角色参数。
示例 - ComputeLeaf0
- name: ComputeLeaf0 HostnameFormatDefault: '%stackname%-compute-leaf0-%index%'
示例 - CephStorageLeaf0
- name: CephStorageLeaf0 HostnameFormatDefault: '%stackname%-cephstorage-leaf0-%index%'
编辑 leaf 1 和 leaf 2 文件中的
network
参数,以便它们与对应的 leaf network 参数保持一致。示例 - ComputeLeaf1
- name: ComputeLeaf1 networks: InternalApi: subnet: internal_api_leaf1 Tenant: subnet: tenant_leaf1 Storage: subnet: storage_leaf1
示例 - CephStorageLeaf1
- name: CephStorageLeaf1 networks: Storage: subnet: storage_leaf1 StorageMgmt: subnet: storage_mgmt_leaf1
注意这只适用于 leaf 1 和 leaf 2。leaf 0 的
network
参数保留基本子网值,这些值是每个子网的小写名称以及_subnet
后缀。例如,leaf 0 的内部 API 是internal_api_subnet
。在每个 Controller、Compute 和 (如果存在)Networker 角色文件中,将 OVN BGP 代理添加到
ServicesDefault
参数下的服务列表中:示例
- name: ControllerRack1 ... ServicesDefault: ... - OS::TripleO::Services::Frr - OS::TripleO::Services::OVNBgpAgent ...
角色配置完成后,运行
overcloud 角色 generate
命令来生成完整的角色数据文件。示例
$ openstack overcloud roles generate --roles-path ~/roles \ -o spine-leaf-roles-data.yaml Controller Compute Compute1 Compute2 \ CephStorage CephStorage1 CephStorage2
这会创建一个自定义角色数据文件,其中包含每个对应叶网络的所有自定义角色。
后续步骤
-
注意
overcloud 角色生成命令创建的自定义角色数据文件的路径和文件名
。在稍后部署 overcloud 时会使用此路径。 - 继续下一步,为叶角色创建自定义 NIC 配置。
其他资源
- 在自定义 Red Hat OpenStack Platform 部署 指南中的 检查角色参数