4.10. 为可组合网络分配路由
此流程定义叶型网络的路由。
流程
-
编辑
network-environment.yaml文件。 将 supernet 路由参数添加到
parameter_defaults部分。每个隔离的网络都应该应用一个 supernet 路由。例如:parameter_defaults: StorageSupernet: 172.16.0.0/16 StorageMgmtSupernet: 172.17.0.0/16 InternalApiSupernet: 172.18.0.0/16 TenantSupernet: 172.19.0.0/16注意网络接口模板应包含每个网络的 supernet 参数。例如:
- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute将
ServiceNetMap HostnameResolveNetwork参数添加到parameter_defaults部分,为该部分提供叶有主机名列表,用于解析其他 leaf 节点。例如:parameter_defaults: ... ServiceNetMap: Compute1HostnameResolveNetwork: internal_api1 Compute2HostnameResolveNetwork: internal_api2 Compute3HostnameResolveNetwork: internal_api3 CephStorage1HostnameResolveNetwork: storage1 CephStorage2HostnameResolveNetwork: storage2 CephStorage3HostnameResolveNetwork: storage3Compute 节点使用 leaf's 内部 API 网络和 Ceph Storage 节点使用leaf 的 Storage 网络。
将以下
ExtraConfig设置添加到parameter_defaults部分,以解决计算和 Ceph Storage 节点上特定组件的路由:Expand 表 4.1. compute ExtraConfig 参数 参数 设置为该值 nova::compute::libvirt::vncserver_listenVNC 服务器侦听的 IP 地址。
nova::compute::vncserver_proxyclient_address运行 VNC 代理客户端的服务器 IP 地址。
neutron::agents::ml2::ovs::local_ipOpenStack Networking (neutron)隧道端点的 IP 地址。
cold_migration_ssh_inbound_addr用于冷迁移 SSH 连接的本地 IP 地址。
live_migration_ssh_inbound_addr用于实时迁移 SSH 连接的本地 IP 地址。
nova::migration::libvirt::live_migration_inbound_addr用于实时迁移流量的 IP 地址。
注意如果使用 SSL/TLS,请将网络名称加上 "fqdn_" 的前面,以确保根据 FQDN 检查证书。
nova::my_ip主机上计算(nova)服务的 IP 地址。
tripleo::profile::base::database::mysql::client::mysql_client_bind_address数据库客户端的 IP 地址。在本例中,它是 Compute 节点上的
mysql客户端。Expand 表 4.2. CephAnsibleExtraConfig 参数 参数 设置为该值 public_network包含 Ceph 节点(每个叶一个)的所有存储网络的逗号分隔列表,如 172.16.0.0/24,172.16.1.0/24,172.16.2.0/24
cluster_network包含 Ceph 节点的存储管理网络(每个叶一个)的逗号分隔列表,例如 172.17.0.0/24,172.17.1.0/24,172.17.2.0/24,172.17.2.0/24
例如:
parameter_defaults: ... Compute1ExtraConfig: nova::compute::libvirt::vncserver_listen: "%{hiera('internal_api1')}" nova::compute::vncserver_proxyclient_address: "%{hiera('internal_api1')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant1')}" cold_migration_ssh_inbound_addr: "%{hiera('internal_api1')}" live_migration_ssh_inbound_addr: "%{hiera('internal_api1')}" nova::migration::libvirt::live_migration_inbound_addr: "%{hiera('internal_api1')}" nova::my_ip: "%{hiera('internal_api1')}" tripleo::profile::base::database::mysql::client::mysql_client_bind_address: "%{hiera('internal_api1')}" Compute2ExtraConfig: nova::compute::libvirt::vncserver_listen: "%{hiera('internal_api2')}" nova::compute::vncserver_proxyclient_address: "%{hiera('internal_api2')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant2')}" cold_migration_ssh_inbound_addr: "%{hiera('internal_api2')}" live_migration_ssh_inbound_addr: "%{hiera('internal_api2')}" nova::migration::libvirt::live_migration_inbound_addr: "%{hiera('internal_api2')}" nova::my_ip: "%{hiera('internal_api2')}" tripleo::profile::base::database::mysql::client::mysql_client_bind_address: "%{hiera('internal_api2')}" Compute3ExtraConfig: nova::compute::libvirt::vncserver_listen: "%{hiera('internal_api3')}" nova::compute::vncserver_proxyclient_address: "%{hiera('internal_api3')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant3')}" cold_migration_ssh_inbound_addr: "%{hiera('internal_api3')}" live_migration_ssh_inbound_addr: "%{hiera('internal_api3')}" nova::migration::libvirt::live_migration_inbound_addr: "%{hiera('internal_api3')}" nova::my_ip: "%{hiera('internal_api3')}" tripleo::profile::base::database::mysql::client::mysql_client_bind_address: "%{hiera('internal_api3')}" CephAnsibleExtraConfig: public_network: '172.16.0.0/24,172.16.1.0/24,172.16.2.0/24' cluster_network: '172.17.0.0/24,172.17.1.0/24,172.17.2.0/24'