4.4. 编辑自定义 Controller NIC 配置
渲染的模板包含大部分内容,这是适合 spine-leaf 配置所需的大部分内容。但是,需要一些额外的配置更改。按照以下步骤修改 Leaf0 上 Controller 节点的 YAML 结构。
流程
进入您的自定义 NIC 目录:
$ cd ~/templates/spine-leaf-nics/
-
编辑
controller0.yaml
的模板。 滚动到
parameters
部分中的ControlPlaneSubnetCidr
和ControlPlaneDefaultRoute
参数。这些参数类似于以下片断:ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlaneDefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string
修改这些参数以适合 Leaf0:
ControlPlane0SubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlane0DefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string
滚动到
parameters
部分中的EC2MetadataIp
参数。这个参数类似以下片断:EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string
修改此参数以适合 Leaf0:
Leaf0EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string
滚动到网络配置部分。本节类似以下示例:
resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: ../../scripts/run-os-net-config.sh params: $network_config: network_config:
将脚本的位置改为绝对路径:
resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:
在
network_config
部分,定义 control plane / provisioning 接口。例如:network_config: - type: ovs_bridge name: bridge_name use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - / - - get_param: ControlPlaneIp - get_param: ControlPlane0SubnetCidr routes: - ip_netmask: 169.254.169.254/32 next_hop: get_param: Leaf0EC2MetadataIp - ip_netmask: 192.168.10.0/24 next_hop: get_param: ControlPlane0DefaultRoute
请注意,本例中使用的参数特定于 Leaf0:
ControlPlane0SubnetCidr
、Leaf0EC2MetadataIp
和ControlPlane0DefaultRoute
。还请注意,在 provisioning 网络(192.168.10.0/24)上用于 Leaf0 的 CIDR,它用作路由。members
部分中的每个 VLAN 包含相关的 Leaf0 参数。例如,存储网络 VLAN 信息应类似于以下代码片段:- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet
添加一个部分来为路由定义参数。这包括 supernet 路由(本例中为
StorageSupernet
)和 leaf default 路由(本例中为Storage0InterfaceDefaultRoute
):- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute
为以下 Controller 网络添加 VLAN 结构的路由:
存储
、StorageMgmt
、InternalApi
和Tenant
。- 保存这个文件。