Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

4.4. コントローラー用のカスタム NIC 設定の編集

レンダリングされたテンプレートには、スパイン/リーフ設定に対応するのに必要なほとんどのコンテンツが含まれます。ただし、追加の設定変更が必要になります。Leaf0 上のコントローラーノードの YAML 構造を変更するには、以下の手順に従います。

手順

  1. カスタムの NIC ディレクトリーに移動します。

    $ cd ~/templates/spine-leaf-nics/
  2. controller0.yaml テンプレートを編集します。
  3. 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
  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 セクションで、コントロールプレーンとプロビジョニングのインターフェイスを定義します。以下に例を示します。

                  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 固有の ControlPlane0SubnetCidrLeaf0EC2MetadataIp、および ControlPlane0DefaultRoute です。ルートとして使用されているプロビジョニングネットワーク (192.168.10.0/24) 上の Leaf0 の CIDR の使用方法にも注目してください。

  7. members セクションの各 VLAN には、関連する Leaf0 パラメーターが含まれます。たとえば、Storage ネットワークの VLAN 情報は、以下のスニペットのようになります。

                    - type: vlan
                      vlan_id:
                        get_param: Storage0NetworkVlanID
                      addresses:
                      - ip_netmask:
                          get_param: Storage0IpSubnet

    ルーティングのパラメーターを定義するセクションを追加します。これには、supernet ルート (ここでは StorageSupernet) およびリーフのデフォルトルート (ここでは 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

    StorageStorageMgmtInternalApi、および Tenant コントローラーネットワーク用 VLAN 設定のルートを追加します。

  8. このファイルを保存します。