4.4. 编辑自定义 Controller NIC 配置


渲染的模板包含大部分内容,这是适合 spine-leaf 配置所需的大部分内容。但是,需要一些额外的配置更改。按照以下步骤修改 Leaf0 上 Controller 节点的 YAML 结构。

流程

  1. 进入您的自定义 NIC 目录:

    $ cd ~/templates/spine-leaf-nics/
  2. 编辑 controller0.yaml 的模板。
  3. 滚动到 parameters 部分中的 ControlPlaneSubnetCidrControlPlaneDefaultRoute 参数。这些参数类似于以下片断:

      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
  4. 滚动到 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
  5. 滚动到网络配置部分。本节类似以下示例:

    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:
  6. 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: ControlPlane0SubnetCidrLeaf0EC2MetadataIpControlPlane0DefaultRoute。还请注意,在 provisioning 网络(192.168.10.0/24)上用于 Leaf0 的 CIDR,它用作路由。

  7. 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 结构的路由: 存储StorageMgmtInternalApiTenant

  8. 保存这个文件。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.