20.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 名と一致させる必要があります。
詳細は、分散コンピュートノードおよびストレージのデプロイメント ガイドを参照してください。
手順
アンダークラウドに stack ユーザーとしてログインし、source コマンドで
stackrcファイルを読み込み、director コマンドラインツールを有効にします。例
$ source ~/stackrc
カスタム YAML 環境ファイルを作成します。
例
$ vi /home/stack/templates/my-neutron-environment.yaml
ヒントRed Hat OpenStack Platform Orchestration サービス (heat) は、テンプレート と呼ばれるプランのセットを使用して環境をインストールおよび設定します。カスタム環境ファイル を使用して、オーバークラウドの要素をカスタマイズすることができます。このファイルは、heat テンプレートをカスタマイズするための特別な種別のテンプレートです。
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'
パラメーター
OVNAvailabilityZoneの値を入力して、ゲートウェイノード (コントローラーおよびネットワークノード) の AZ を決定します。重要OVNAvailabilityパラメーターは、OVNCMSOptionsパラメーターでの AZ 値の使用を置き換えます。OVNAvailabilityパラメーターを使用する場合は、OVNCMSOptionsパラメーターに AZ 値がないことを確認してください。例
この例では、
az-centralAZ のコントローラーと、datacenter1およびdatacenter2AZ のネットワーク担当者に対してロールが事前定義されています。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 を定義します。デフォルトでは、ルータースケジューラーは
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'コア 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 | +----------------+-------------+