4.3. 为叶角色创建自定义 NIC 配置
Red Hat OpenStack Platform (RHOSP) director 创建的每个角色都需要一个唯一的 NIC 配置。完成以下步骤以创建一组自定义 NIC 模板和一个自定义环境文件,用于将自定义模板映射到对应的角色。
先决条件
-
访问
stack用户的 undercloud 主机和凭据。 - 您有一个自定义网络定义文件。
- 您有一个自定义角色数据文件。
流程
-
以
stack用户身份登录 undercloud 主机。 查找
stackrcundercloud 凭据文件:$ source ~/stackrc
复制其中一个默认 NIC 模板中的内容,以用作 NIC 配置的自定义模板的基础。
示例
在本例中,
single-nic-vlansNIC 模板被复制,它将用作 NIC 配置的自定义模板的基础:$ cp -r /usr/share/ansible/roles/tripleo_network_config/\ templates/single-nic-vlans/* /home/stack/templates/spine-leaf-nics/.
编辑您在上一步中复制的 NIC 模板中的每个 NIC 配置,以反映您的 spine-leaf 拓扑的具体内容。
示例
{% set mtu_list = [ctlplane_mtu] %} {% for network in role_networks %} {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }} {%- endfor %} {% set min_viable_mtu = mtu_list | max %} network_config: - type: ovs_bridge name: {{ neutron_physical_bridge_name }} mtu: {{ min_viable_mtu }} use_dhcp: false dns_servers: {{ ctlplane_dns_nameservers }} domain: {{ dns_search_domains }} addresses: - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }} routes: {{ ctlplane_host_routes }} members: - type: interface name: nic1 mtu: {{ min_viable_mtu }} # force the MAC address of the bridge to this interface primary: true {% for network in role_networks %} - type: vlan mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }} vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }} addresses: - ip_netmask: {{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }} routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }} {% endfor %}提示如需更多信息,请参阅 Director 安装和使用 指南中的 自定义网络接口模板。
创建自定义环境文件,如
spine-leaf-nic-roles-map.yaml,其中包含将自定义 NIC 模板映射到每个自定义角色的parameter_defaults部分。parameter_defaults: %%ROLE%%NetworkConfigTemplate: <path_to_ansible_jinja2_nic_config_file>
示例
parameter_defaults: Controller0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' Controller1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' Controller2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' ComputeLeaf0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' ComputeLeaf1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' ComputeLeaf2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' CephStorage0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' CephStorage1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2' CephStorage2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
后续步骤
- 请注意自定义 NIC 模板的路径和文件名,以及将自定义 NIC 模板映射到每个自定义角色的自定义环境文件。部署 overcloud 时,您将需要此信息。
- 继续下一步 映射单独的网络并设置 control plane 参数。
其他资源
- Director 安装和使用指南中的 自定义网络接口模板