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