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

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

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

注記

ML2/OVN メカニズムドライバーは、ルーターのアベイラビリティーゾーンのみをサポートします。ML2/OVN には分散 DHCP サーバーがあるため、ネットワーク AZ をサポートする必要はありません。

前提条件

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

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

    重要

    OVNCMSOptions: 'enable-chassis-as-gw' を設定し、OVNAvailabilityZone パラメーターに 1 つ以上の AZ 値を指定して、すべてのルーターゲートウェイポートが必ず OpenStack コントローラーノード上に存在することを確認してください。これらのアクションを実行すると、ルーターはすべてのシャーシをルーターゲートウェイポートの潜在的なホストとしてスケジュールできなくなります。

手順

  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 を入力します。

    重要

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

    ネットワークまたはルーターの作成時に、ユーザーが --availability-zone-hint オプションを使用して AZ を指定できない場合は、Networking サービスはこれらの AZ を割り当てます。

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

  4. パラメーター OVNAvailabilityZone の値を入力して、ゲートウェイノード (コントローラーおよびネットワークノード) の AZ を決定します。

    重要

    OVNAvailabilityZone パラメーターは、OVNCMSOptions パラメーターで使用されている AZ 値を置き換えます。OVNAvailabilityZone パラメーターを使用する場合は、OVNCMSOptions パラメーターに AZ 値がないことを確認してください。

    この例では、az-central AZ のコントローラーと、datacenter1 および datacenter2 AZ のネットワーク担当者に対してロールが事前定義されています。

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      ControllerCentralParameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NetworkerDatacenter1Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter1'
      NetworkerDatacenter2Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter2'
    重要

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

  5. デフォルトでは、ルータースケジューラーは AZLeastRoutersScheduler です。これを変更する場合は、NeutronRouterSchedulerDriver パラメーターを使用して新規スケジューラーを入力します。

    parameter_defaults:
      NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
      ControllerCentralParameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-central,az-datacenter2,az-datacenter1'
      NetworkerDCN1Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter1'
      NetworkerDCN2Parameters:
        OVNCMSOptions: 'enable-chassis-as-gw'
        OVNAvailabilityZone: 'az-datacenter2'
      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   |
    +----------------+-------------+