4.8. 向 spine-leaf 部署中添加一个新的 leaf
在增加网络容量或添加新的物理站点时,您可能需要在 Red Hat OpenStack Platform (RHOSP) spine-leaf 网络中有一个新的叶型。
前提条件
- 您的 RHOSP 部署使用 spine-leaf 网络拓扑。
流程
- 以 stack 用户身份登录 undercloud 主机。
提供 undercloud 凭证文件:
source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/usr/share/openstack-tripleo-heat-templates/network_data_spine_leaf.yaml
文件中,在适当的基本网络中,添加一个叶子网作为您要添加的新叶的可组合网络项。Example
在本例中,添加了新的 leaf (
leaf3
)的子网条目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您要添加的新 leaf 创建一个角色数据文件。
为您要添加的新叶叶复制 leaf Compute 和 leaf Ceph Storage 文件。
Example
在本例中,
Compute1.yaml
和CephStorage1.yaml
分别从新 leaf,Compute3.yaml
和CephStorage3.yaml
复制。cp ~/roles/Compute1.yaml ~/roles/Compute3.yaml cp ~/roles/CephStorage1.yaml ~/roles/CephStorage3.yaml
$ cp ~/roles/Compute1.yaml ~/roles/Compute3.yaml $ cp ~/roles/CephStorage1.yaml ~/roles/CephStorage3.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑新 leaf 文件中的
name
,HostnameFormatDefault
, 和deprecated_nic_config_name
参数,以便它们与相应的 Leaf 参数保持一致。Example
例如,Leaf 1 Compute 文件中的参数具有以下值:
- name: ComputeLeaf1 HostnameFormatDefault: '%stackname%-compute-leaf1-%index%' deprecated_nic_config_name: 'computeleaf1.yaml'
- name: ComputeLeaf1 HostnameFormatDefault: '%stackname%-compute-leaf1-%index%' deprecated_nic_config_name: 'computeleaf1.yaml'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Leaf 1 Ceph Storage 参数具有以下值:
- name: CephStorageLeaf1 HostnameFormatDefault: '%stackname%-cephstorage-leaf1-%index%' deprecated_nic_config_name: 'ceph-strorageleaf1.yaml'
- name: CephStorageLeaf1 HostnameFormatDefault: '%stackname%-cephstorage-leaf1-%index%' deprecated_nic_config_name: 'ceph-strorageleaf1.yaml'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑新 leaf 文件中的 network 参数,以便它们与相应的 Leaf 网络参数保持一致。
示例
例如,Leaf 1 Compute 文件中的参数具有以下值:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Leaf 1 Ceph Storage 参数具有以下值:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 角色配置完成后,运行以下命令来生成完整的角色数据文件。在您的网络中包含所有叶叶以及您要添加的新叶叶。
示例
在本例中,leaf3 添加到 leaf0, leaf1, 和 leaf2 中:
openstack overcloud roles generate --roles-path ~/roles -o roles_data_spine_leaf.yaml Controller Compute Compute1 Compute2 Compute3 CephStorage CephStorage1 CephStorage2 CephStorage3
$ openstack overcloud roles generate --roles-path ~/roles -o roles_data_spine_leaf.yaml Controller Compute Compute1 Compute2 Compute3 CephStorage CephStorage1 CephStorage2 CephStorage3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会创建一个完整的
roles_data_spine_leaf.yaml
文件,其中包含每个对应叶网络的所有自定义角色。
为要添加的叶创建一个自定义 NIC 配置。
为您要添加的新叶型复制 leaf Compute 和 leaf Ceph Storage NIC 配置文件。
Example
在本例中,
computeleaf1.yaml
和ceph-storageleaf1.yaml
复制到新的 leaf,computeleaf3.yaml
和ceph-storageleaf3.yaml
,代表:cp ~/templates/spine-leaf-nics/computeleaf1.yaml ~/templates/spine-leaf-nics/computeleaf3.yaml cp ~/templates/spine-leaf-nics/ceph-storageleaf1.yaml ~/templates/spine-leaf-nics/ceph-storageleaf3.yaml
$ cp ~/templates/spine-leaf-nics/computeleaf1.yaml ~/templates/spine-leaf-nics/computeleaf3.yaml $ cp ~/templates/spine-leaf-nics/ceph-storageleaf1.yaml ~/templates/spine-leaf-nics/ceph-storageleaf3.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/usr/share/openstack-tripleo-heat-templates/network_data_spine_leaf.yaml
中,在文件中的resource_registry
部分下,添加一组::Net::SoftwareConfig
资源,映射到对应的 NIC 模板:Example
在本例中,添加了新的 leaf NIC 配置文件(
computeleaf3.yaml
和ceph-storageleaf3.yaml
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这些资源映射会在部署过程中覆盖默认资源映射。
因此,您现在有一组 NIC 模板和一个环境文件,它将所需的
::Net::SoftwareConfig
资源映射到它们。最终运行openstack overcloud deploy
命令时,请确保按以下顺序包含环境文件:/usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml
,它可启用网络隔离。请注意,director 从
network-isolation.j2.yaml
Jinja2 模板呈现此文件。/usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml
,它是默认的网络环境文件,包括默认的 NIC 资源映射。请注意,director 从 network-environment.j2.yaml Jinja2 模板呈现此文件。
/home/stack/templates/spine-leaf-nics.yaml
,其中包含您的自定义 NIC 资源映射并覆盖默认 NIC 资源映射。以下命令片断演示了排序:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
更新 control plane 参数。
在
~/templates/spine-leaf-ctlplane.yaml
中,在parameter_defaults
部分下为新的 leaf 网络添加 control plane 子网映射:Example
在本例中,添加了新的 leaf (
leaf3
)条目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 映射新的叶网络。
在
~/templates/spine-leaf-separate.yaml
中,在parameter_defaults
部分下,包括新叶网络的外部网络映射。对于扁平网络映射,列出
NeutronFlatNetworks
参数中的新 leaf (leaf3
),并为新的叶设置NeutronBridgeMappings
参数:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 VLAN 网络映射,还要将
NeutronNetworkVLANRanges
设置为映射新叶(leaf3
)网络的 VLAN:NeutronNetworkType: 'geneve,vlan' NeutronNetworkVLANRanges: 'leaf0:1:1000,leaf1:1:1000,leaf2:1:1000,leaf3:1:1000'
NeutronNetworkType: 'geneve,vlan' NeutronNetworkVLANRanges: 'leaf0:1:1000,leaf1:1:1000,leaf2:1:1000,leaf3:1:1000'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 按照 第 4.7 节 “部署启用了 spine-leaf 的 overcloud” 中的步骤重新部署启用了 spine-leaf 的 overcloud。