22.2. ML2/OVS のネットワークサービスのアベイラビリティーゾーンの設定

ユーザーがネットワークとルーターを作成する際に、Red Hat OpenStack Platform (RHOSP) Networking サービス (neutron) によって自動的に割り当てられる 1 つ以上のデフォルトアベイラビリティーゾーン (AZ) を設定できます。さらに、Networking サービスが各 AZ 用にこれらのリソースをスケジュールするために使用するネットワークおよびルータードライバーを設定することもできます。

このトピックに含まれる情報は、Module Layer 2 プラグインと Open vSwitch メカニズムドライバーの組み合わせ (ML2/OVS) を使用する RHOSP Networking サービスを実行するデプロイメント用です。

前提条件

  • RHOSP 16.2 以降がデプロイされている。
  • ML2/OVS メカニズムドライバーを使用する RHOSP Networking サービスが実行されている。
  • 分散コンピュートノード (DCN) 環境でネットワーキングサービス AZ を使用する場合、ネットワーキングサービス AZ 名を Compute サービス (nova) AZ 名と一致させる必要があります。

    詳細は、分散コンピュートノードおよびストレージのデプロイメント ガイドを参照してください。

手順

  1. アンダークラウドに stack ユーザーとしてログインし、source コマンドで stackrc ファイルを読み込み、director コマンドラインツールを有効にします。

    $ source ~/stackrc

  2. カスタム YAML 環境ファイルを作成します。

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

    ヒント

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

  3. YAML 環境ファイルの parameter_defaults セクションで、NeutronDefaultAvailabilityZones パラメーターおよび 1 つ以上の AZ を入力します。ネットワークまたはルーターの作成時に、ユーザーが --availability-zone-hint オプションを使用して AZ を指定できない場合は、Networking サービスはこれらの AZ を割り当てます。

    重要

    DCN 環境では、Networking サービスの AZ 名を Compute サービスの AZ 名と一致させる必要があります。

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'

  4. パラメーター (NeutronDhcpAgentAvailabilityZone および NeutronL3AgentAvailabilityZone) の値を入力して、DHCP と L3 エージェントの AZ を決定します。

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      NeutronL3AgentAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NeutronDhcpAgentAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'

    重要

    DCN 環境では、特定のエッジサイトに関連する AZ でポートがスケジュールされるように、NeutronDhcpAgentAvailabilityZone に対して単一の AZ を定義します。

  5. デフォルトでは、ネットワークおよびルータースケジューラーは AZAwareWeightScheduler および AZLeastRoutersScheduler です。このいずれかまたは両方を変更する場合は、それぞれ NeutronNetworkSchedulerDriver パラメーターおよび NeutronRouterSchedulerDriver パラメーターを使用して新規スケジューラーを入力します。

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      NeutronL3AgentAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NeutronDhcpAgentAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NeutronNetworkSchedulerDriver: 'neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler'
      NeutronRouterSchedulerDriver: 'neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler'

  6. コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、openstack overcloud deploy コマンドを実行します。

    重要

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

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

検証

  • availability zone list コマンドを実行して、アベイラビリティーゾーンが正しく定義されていることを確認します。

    $ openstack availability zone list

    出力例

    +----------------+-------------+
    | Zone Name      | Zone Status |
    +----------------+-------------+
    | az-central     | available   |
    | az-datacenter1 | available   |
    | az-datacenter2 | available   |
    +----------------+-------------+