9.2. 添加可组合网络
使用可组合网络为各种服务添加网络。例如,如果您有一个专用于存储备份流量的网络,您可以将网络呈现到多个角色。
流程
复制默认的
network_data.yaml
文件:$ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
编辑
network_data.yaml
文件的本地副本,并为新网络添加一个部分:- name: StorageBackup name_lower: storage_backup vlan: 21 vip: true ip_subnet: '172.21.1.0/24' allocation_pools: [{'start': '171.21.1.4', 'end': '172.21.1.250'}] gateway_ip: '172.21.1.1'
您可以在
network_data.yaml
文件中使用以下参数:name
-
设置网络的人类可读名称。这个参数是唯一强制参数。您还可以使用
name_lower
来规范化名称以实现可读性。例如,将InternalApi
更改为internal_api
。 name_lower
-
设置名称的小写版本,director 映射到分配给
roles_data.yaml
文件中角色的相应网络。 vlan
- 设置要用于此网络的 VLAN。
vip: true
-
在新网络上创建虚拟 IP 地址(VIP)。此 IP 用作 service-to-network 映射参数(
ServiceNetMap
)中列出的服务的目标 IP。请注意,VIP 仅由使用 Pacemaker 的角色使用。overcloud 负载均衡服务将来自这些 IP 的流量重定向到对应的服务端点。 ip_subnet
- 以 CIDR 格式设置默认 IPv4 子网。
allocation_pools
- 为 IPv4 子网设置 IP 范围
gateway_ip
- 设置网络的网关。
Routes
向网络添加额外的路由。使用包含每个额外路由的 JSON 列表。每个列表项目包含一个字典值映射。使用以下示例语法:
routes: [{'destination':'10.0.0.0/16', 'nexthop':'10.0.2.254'}]
subnets
创建属于此网络中的其他路由子网。此参数接受一个字典值,其中包含路由子网的小写名称作为键,以及
vlan
、ip_subnet
、allocation_pools
,以及gateway_ip
参数作为映射到子网的值。以下示例演示了这个布局:
- name: StorageBackup name_lower: storage_backup vlan: 200 vip: true ip_subnet: '172.21.0.0/24' allocation_pools: [{'start': '171.21.0.4', 'end': '172.21.0.250'}] gateway_ip: '172.21.0.1' subnets: storage_backup_leaf1: vlan: 201 ip_subnet: '172.21.1.0/24' allocation_pools: [{'start': '171.21.1.4', 'end': '172.21.1.250'}] gateway_ip: '172.19.1.254'
此映射在 spine leaf 部署中很常见。如需更多信息,请参阅 Spine Leaf Networking 指南。
当您添加包含虚拟 IP 的额外可组合网络并希望将一些 API 服务映射到此网络时,请使用
CloudName{network.name}
定义来为 API 端点设置 DNS 名称:CloudName{{network.name}}
下面是一个示例:
parameter_defaults: ... CloudNameOcProvisioning: baremetal-vip.example.com
-
使用
-n
选项,在部署命令中包含自定义network_data.yaml
文件。如果没有-n
选项,部署命令会使用默认的网络集合。 如果您需要可预测的虚拟 IP 地址(VIP),请将自定义网络的
VirtualFixedIPs
参数添加到 heat 环境文件的parameter_defaults
部分,例如my_network_vips.yaml
:<% my_customer_network %>VirtualFixedIPs: [{'ip_address':'<% ipaddres %>'}]
下面是一个示例:
parameter_defaults: ... # Predictable VIPs StorageBackuptVirtualFixedIPs: [{'ip_address':'172.21.1.9'}]
-
使用
-e
选项,将 heat 环境文件my_network_vips.yaml
包含在部署命令中。
其他资源
- 分配可预测的虚拟 IP
- 环境文件
- 命令行界面参考中的 overcloud 部署