4.3. フラットプロバイダーネットワークの設定

フラットプロバイダーネットワークを使用してインスタンスを直接外部ネットワークに接続することができます。これは、複数の物理ネットワークおよびそれぞれ別の物理インターフェイスがあり、各コンピュートノードとネットワークノードをこれらの外部ネットワークに接続する場合に役立ちます。

前提条件

  • 複数の物理ネットワークがある。

    以下の例では、physnet1 および physnet2 という物理ネットワークをそれぞれ使用します。

  • 独立した物理インターフェイスがある。

    この例では、それぞれ別の物理インターフェイス eth0eth1 を使用します。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインして、カスタム YAML 環境ファイルを作成します。

    $ vi /home/stack/templates/my-modules-environment.yaml

    ヒント

    Red Hat OpenStack Platform Orchestration サービス (heat) は、テンプレート と呼ばれるプランのセットを使用して環境をインストールおよび設定します。カスタム環境ファイル を使用して、オーバークラウドの要素をカスタマイズすることができます。このファイルは、orchestration テンプレートをカスタマイズするための特別な種別のテンプレートです。

  2. YAML 環境ファイルの parameter_defaults セクションで、NeutronBridgeMappings を使用して外部ネットワークへのアクセスに使用する OVS ブリッジを指定します。

    parameter_defaults:
      NeutronBridgeMappings: 'physnet1:br-net1,physnet2:br-net2'

  3. コントローラーノードおよびコンピュートノードのカスタム NIC 設定テンプレートで、インターフェイスがアタッチされたブリッジを設定します。

    ...
                  - type: ovs_bridge
                    name: br-net1
                    mtu: 1500
                    use_dhcp: false
                    members:
                    - type: interface
                      name: eth0
                      mtu: 1500
                      use_dhcp: false
                      primary: true
                  - type: ovs_bridge
                    name: br-net2
                    mtu: 1500
                    use_dhcp: false
                    members:
                    - type: interface
                      name: eth1
                      mtu: 1500
                      use_dhcp: false
                      primary: true
    ...

  4. openstack overcloud deploy コマンドを実行し、変更したカスタム NIC テンプレートおよび新しい環境ファイルを含む、テンプレートおよび環境ファイルを追加します。

    重要

    後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml

検証

  1. フラットネットワークとして外部ネットワーク (public1) を作成し、設定済みの物理ネットワーク (physnet1) に関連付けます。

    このネットワークを共有ネットワークとして設定し (--share を使用)、他のユーザーが外部ネットワークに直接接続された仮想マシンインスタンスを作成できるようにします。

    # openstack network create --share --provider-network-type flat --provider-physical-network physnet1 --external public01

  2. openstack subnet create コマンドを使用して、サブネット (public_subnet) を作成します。

    # openstack subnet create --no-dhcp --allocation-pool start=192.168.100.20,end=192.168.100.100 --gateway 192.168.100.1 --network public01 public_subnet

  3. 仮想マシンインスタンスを作成し、それを新たに作成した外部ネットワークに直接接続します。

    $ openstack server create --image rhel --flavor my_flavor --network public01 my_instance

関連情報