4.2. 创建角色数据文件
本节演示如何为每个叶定义每个可组合角色,并将可组合的网络附加到每个对应角色。
流程
在
stack
用户本地目录中创建自定义角色
director:mkdir ~/roles
$ mkdir ~/roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认 Controller、Compute 和 Ceph Storage 角色从 director 的核心模板集合复制到
~/roles
目录。重命名 Leaf 1 的文件:cp /usr/share/openstack-tripleo-heat-templates/roles/Controller.yaml ~/roles/Controller.yaml cp /usr/share/openstack-tripleo-heat-templates/roles/Compute.yaml ~/roles/Compute1.yaml cp /usr/share/openstack-tripleo-heat-templates/roles/CephStorage.yaml ~/roles/CephStorage1.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/roles/Controller.yaml ~/roles/Controller.yaml $ cp /usr/share/openstack-tripleo-heat-templates/roles/Compute.yaml ~/roles/Compute1.yaml $ cp /usr/share/openstack-tripleo-heat-templates/roles/CephStorage.yaml ~/roles/CephStorage1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
Compute1.yaml
文件:vi ~/roles/Compute1.yaml
$ vi ~/roles/Compute1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑此文件中
的名称
、网络
和HostnameFormatDefault
参数,以便它们与 Leaf 1 特定参数一致。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存这个文件。
编辑
CephStorage1.yaml
文件:vi ~/roles/CephStorage1.yaml
$ vi ~/roles/CephStorage1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑此文件中的
名称和
网络参数,以便它们与 Leaf 1 特定参数一致。另外,添加
HostnameFormatDefault
参数,再定义 Ceph Storage 节点的 Leaf 1 主机名。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存这个文件。
复制 Leaf 1 Compute 和 Ceph Storage 文件,作为您的 Leaf 2 和 Leaf 3 文件的基础:
cp ~/roles/Compute1.yaml ~/roles/Compute2.yaml cp ~/roles/Compute1.yaml ~/roles/Compute3.yaml cp ~/roles/CephStorage1.yaml ~/roles/CephStorage2.yaml cp ~/roles/CephStorage1.yaml ~/roles/CephStorage3.yaml
$ cp ~/roles/Compute1.yaml ~/roles/Compute2.yaml $ cp ~/roles/Compute1.yaml ~/roles/Compute3.yaml $ cp ~/roles/CephStorage1.yaml ~/roles/CephStorage2.yaml $ cp ~/roles/CephStorage1.yaml ~/roles/CephStorage3.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 Leaf 2 和 Leaf 3 文件中的
名称
、network 和HostnameFormatDefault
参数,以便它们与对应的 Leaf 网络参数一致。例如,Leaf 2 Compute 文件中的参数具有以下值:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Leaf 2 Ceph Storage 参数具有以下值:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当角色就绪时,使用以下命令生成完整角色数据文件:
openstack overcloud roles generate --roles-path ~/roles -o roles_data_spine_leaf.yaml Controller Compute1 Compute2 Compute3 CephStorage1 CephStorage2 CephStorage3
$ openstack overcloud roles generate --roles-path ~/roles -o roles_data_spine_leaf.yaml Controller Compute1 Compute2 Compute3 CephStorage1 CephStorage2 CephStorage3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会创建一个完整的
roles_data_spine_leaf.yaml
文件,其中包含每个对应 leaf 网络的所有自定义角色。
有关此文件的完整示例,请参阅 附录 C, roles_data 文件示例。
每个角色都有自己的 NIC 配置。在配置 spine-leaf 配置前,您需要创建一个基础 NIC 模板集来适合您的当前的 NIC 配置。