20.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 名と一致させる必要があります。
詳細は、分散コンピュートノードおよびストレージのデプロイメント ガイドを参照してください。
手順
アンダークラウドに
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 を入力します。ネットワークまたはルーターの作成時に、ユーザーが--availability-zone-hintオプションを使用して AZ を指定できない場合は、Networking サービスはこれらの AZ を割り当てます。重要DCN 環境では、Networking サービスの AZ 名を Compute サービスの AZ 名と一致させる必要があります。
例
parameter_defaults: NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
パラメーター (
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 を定義します。デフォルトでは、ネットワークおよびルータースケジューラーは
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'
コア 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 | +----------------+-------------+