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