第3章 オーバークラウドの設定
アンダークラウドの設定が完了したので、残りのオーバークラウドリーフネットワークを設定することができます。これは、一連の設定ファイルを使用して行います。この作業が終わった後には、オーバークラウドをデプロイします。デプロイされる環境には、ルーティングを利用できるネットワークが複数セット実装されます。
3.1. ネットワークデータファイルの作成
リーフネットワークを定義するには、ネットワークデータファイルを作成します。これには、コンポーザブルネットワークとその属性の一覧が YAML 形式で記載されます。デフォルトのネットワークのデータは、アンダークラウドの /usr/share/openstack-tripleo-heat-templates/network_data.yaml にあります。
手順
-
stackユーザーのローカルディレクトリーに新しいnetwork_data_spine_leaf.yamlファイルを作成します。 network_data_spine_leaf.yamlファイルで、各ネットワークとリーフネットワークをコンポーザブルネットワーク項目として定義する YAML リストを作成します。たとえば、内部 API ネットワークとそのリーフネットワークは、以下の構文を使用して定義します。# Internal API - name: InternalApi0 name_lower: internal_api0 vip: true ip_subnet: '172.18.0.0/24' allocation_pools: [{'start': '172.18.0.4', 'end': '172.18.0.250'}] - name: InternalApi1 name_lower: internal_api1 vip: true ip_subnet: '172.18.1.0/24' allocation_pools: [{'start': '172.18.1.4', 'end': '172.18.1.250'}] - name: InternalApi2 name_lower: internal_api2 vip: true ip_subnet: '172.18.2.0/24' allocation_pools: [{'start': '172.18.2.4', 'end': '172.18.2.250'}]
コントロールプレーンのネットワークは、アンダークラウドですでに作成済みなので、ネットワークデータファイルでは定義しません。ただし、パラメーターを手動で設定して、オーバークラウドが NIC を適切に設定できるようにする必要があります。
コンポーザブルネットワークの完全な例は、「付録A network_data ファイルの例」を参照してください。
ロールごとに独自の NIC 設定があります。スパイン/リーフ構成を設定する前には、現在の NIC 設定に適した NIC テンプレートの基本セットを作成する必要があります。
3.2. カスタム NIC 設定の作成
各ロールには、独自の NIC 設定が必要です。NIC テンプレートの基本セットのコピーを作成して、現在の NIC 設定に合わせて変更します。
手順
NIC テンプレートを保管する新規ディレクトリーを作成します。以下に例を示します。
$ mkdir ~/templates/spine-leaf-nics/ $ cd ~/templates/spine-leaf-nics/
-
base.yamlという名前の基本テンプレートを作成します。「付録B カスタムの NIC テンプレート」から boilerplate の内容を使用します。このテンプレートは、各ロール用のテンプレートをコピーするベースとして使用します。
リソース
- NIC テンプレートのカスタマイズに関する詳しい情報は、『オーバークラウドの高度なカスタマイズ』ガイドの「カスタムのインターフェーステンプレートの作成」を参照してください。
3.3. コントローラー用のカスタム NIC 設定の作成
以下の手順では、Leaf0 上のみでコントローラーノードの YAML 構成を作成します。
手順
カスタムの NIC ディレクトリーに移動します。
$ cd ~/templates/spine-leaf-nics/
Leaf0 用のベーステンプレート (
base.yaml) をコピーします。以下に例を示します。$ cp base.yaml controller0.yaml
controller0.yamlのテンプレートを編集して、以下のような内容が記載されているネットワーク設定のセクションまでスクロールします。resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:network_configセクションで、コントロールプレーンとプロビジョニングのインターフェースを定義します。以下に例を示します。network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - / - - get_param: ControlPlaneIp - get_param: ControlPlane0SubnetCidr routes: - ip_netmask: 169.254.169.254/32 next_hop: get_param: Leaf0EC2MetadataIp - ip_netmask: 192.168.10.0/24 next_hop: get_param: ControlPlane0DefaultRouteこの例で使用されているパラメーターは Leaf0 固有の
ControlPlane0SubnetCidr、Leaf0EC2MetadataIp、ControlPlane0DefaultRouteです。ルートとして使用されているプロビジョニングネットワーク (192.168.10.0/24) 上の Leaf0 の CIDR の使用方法にも注目してください。外部ブリッジの新しいインターフェースを定義します。
- type: ovs_bridge name: br-ex use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic2 primary: truemembersセクションには、使用するネットワーク用の VLAN 設定も含まれます。各 VLAN を
membersセクションに追加します。たとえば、Storage ネットワークを追加するには、以下のように編集します。members: - type: interface name: nic2 primary: true - type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute各インターフェースの構成には、Leaf0 固有のパラメーター (
Storage0NetworkVlanID、Storage0IpSubnet、Storage0InterfaceDefaultRoute) と supernet ルート (StorageSupernet) が使用されます。Storage、StorageMgmt、InternalApi、Tenantのコントローラーネットワークの VLAN 構成を追加します。- このファイルを保存します。
3.4. コンピュート用のカスタム NIC 設定の作成
以下の手順では、Leaf0、Leaf1、Leaf2 上のコンピュートノードの YAML 構成を作成します。
手順
カスタムの NIC ディレクトリーに移動します。
$ cd ~/templates/spine-leaf-nics/
Leaf0 用のベーステンプレート (
base.yaml) をコピーします。以下に例を示します。$ cp base.yaml compute0.yaml
compute0.yamlのテンプレートを編集して、以下のような内容が記載されているネットワーク設定のセクションまでスクロールします。resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:network_configセクションで、コントロールプレーンとプロビジョニングのインターフェースを定義します。以下に例を示します。network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - / - - get_param: ControlPlaneIp - get_param: ControlPlane0SubnetCidr routes: - ip_netmask: 169.254.169.254/32 next_hop: get_param: Leaf0EC2MetadataIp - ip_netmask: 192.168.10.0/24 next_hop: get_param: ControlPlane0DefaultRouteこの例で使用されているパラメーターは Leaf0 固有の
ControlPlane0SubnetCidr、Leaf0EC2MetadataIp、ControlPlane0DefaultRouteです。ルートとして使用されているプロビジョニングネットワーク (192.168.10.0/24) 上の Leaf0 の CIDR の使用方法にも注目してください。外部ブリッジの新しいインターフェースを定義します。
- type: ovs_bridge name: br-ex use_dhcp: false members: - type: interface name: nic2 primary: truemembersセクションには、使用するネットワーク用の VLAN 設定も含まれます。各 VLAN を
membersセクションに追加します。たとえば、Storage ネットワークを追加するには、以下のように編集します。members: - type: interface name: nic2 primary: true - type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute各インターフェースの構成には、Leaf0 固有のパラメーター (
Storage0NetworkVlanID、Storage0IpSubnet、Storage0InterfaceDefaultRoute) と supernet ルート (StorageSupernet) が使用されます。Storage、InternalApi、Tenantのコントローラーネットワークの VLAN 構成を追加します。- このファイルを保存します。
Leaf1 および Leaf2 で使用するためにこのファイルをコピーします。
$ cp compute0.yaml compute1.yaml $ cp compute0.yaml compute2.yaml
-
compute1.yamlを編集してnetwork_configセクションにスクロールします。Leaf0 パラメーターを Leaf1 パラメーターに置き換えます。これには、Control Plane、Storage、InternalApi、Tenantのネットワーク用のパラメーターが含まれます。編集が終わったらファイルを保存してください。 -
compute2.yamlを編集してnetwork_configセクションにスクロールします。Leaf0 パラメーターを Leaf2 パラメーターに置き換えます。これには、Control Plane、Storage、InternalApi、Tenantのネットワーク用のパラメーターが含まれます。編集が終わったらファイルを保存してください。
3.5. Ceph Storage 用のカスタム NIC 設定の作成
この手順では、Leaf0、Leaf1、Leaf2 上の Ceph Storage ノードの YAML 構成を作成します。
手順
カスタムの NIC ディレクトリーに移動します。
$ cd ~/templates/spine-leaf-nics/
Leaf0 用のベーステンプレート (
base.yaml) をコピーします。以下に例を示します。$ cp base.yaml compute0.yaml
ceph-storage0.yamlのテンプレートを編集して、以下のような内容が記載されているネットワーク設定のセクションまでスクロールします。resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:network_configセクションで、コントロールプレーンとプロビジョニングのインターフェースを定義します。以下に例を示します。network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - / - - get_param: ControlPlaneIp - get_param: ControlPlane0SubnetCidr routes: - ip_netmask: 169.254.169.254/32 next_hop: get_param: Leaf0EC2MetadataIp - ip_netmask: 192.168.10.0/24 next_hop: get_param: ControlPlane0DefaultRouteこの例で使用されているパラメーターは Leaf0 固有の
ControlPlane0SubnetCidr、Leaf0EC2MetadataIp、ControlPlane0DefaultRouteです。ルートとして使用されているプロビジョニングネットワーク (192.168.10.0/24) 上の Leaf0 の CIDR の使用方法にも注目してください。外部ブリッジの新しいインターフェースを定義します。
- type: ovs_bridge name: br-ex use_dhcp: false members: - type: interface name: nic2 primary: truemembersセクションには、使用するネットワーク用の VLAN 設定も含まれます。各 VLAN を
membersセクションに追加します。たとえば、Storage ネットワークを追加するには、以下のように編集します。members: - type: interface name: nic2 primary: true - type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute各インターフェースの構成には、Leaf0 固有のパラメーター (
Storage0NetworkVlanID、Storage0IpSubnet、Storage0InterfaceDefaultRoute) と supernet ルート (StorageSupernet) が使用されます。Storage、StorageMgmtのコントローラーネットワークの VLAN 構成を追加します。- このファイルを保存します。
Leaf1 および Leaf2 で使用するためにこのファイルをコピーします。
$ cp ceph-storage0.yaml ceph-storage1.yaml $ cp ceph-storage0.yaml ceph-storage2.yaml
-
ceph-storage1.yamlを編集してnetwork_configセクションにスクロールします。Leaf0 パラメーターを Leaf1 パラメーターに置き換えます。これには、Control Plane、Storage、InternalApi、Tenantのネットワーク用のパラメーターが含まれます。編集が終わったらファイルを保存してください。 -
ceph-storage2.yamlを編集してnetwork_configセクションにスクロールします。Leaf0 パラメーターを Leaf2 パラメーターに置き換えます。これには、Control Plane、Storage、InternalApi、Tenantのネットワーク用のパラメーターが含まれます。編集が終わったらファイルを保存してください。
3.6. ネットワーク環境ファイルの作成
この手順では、後で使用する基本的なネットワーク環境ファイルを作成します。
手順
-
stack ユーザーの
templatesディレクトリーにnetwork-environment.yamlファイルを作成します。 環境ファイルに以下のセクションを追加します。
resource_registry: parameter_defaults:
以下の点に注意してください。
-
resource_registryは、ネットワークリソースをそれぞれの NIC テンプレートにマッピングします。 -
parameter_defaultsは、お使いの設定に関連した追加のネットワークパラメーターを定義します。
-
その次の数セクションでは、スパイン/リーフアーキテクチャーの特定の機能を設定するネットワーク環境ファイルに情報を追加します。この作業が完了したら、このファイルを openstack overcloud deploy コマンドで指定します。
3.7. NIC テンプレートへのネットワークリソースのマッピング
この手順では、ネットワーク設定の関連するリソースをそれぞれの NIC テンプレートにマッピングします。
手順
-
network-environment.yamlファイルを編集します。 resource_registryにリソースマッピングを追加します。リソース名には以下の形式を使用します。OS::TripleO::[ROLE]::Net::SoftwareConfig: [NIC TEMPLATE]
本ガイドのシナリオでは、
resource_registryに以下のリソースマッピングが含まれます。resource_registry: OS::TripleO::Controller0::Net::SoftwareConfig: ./spine-leaf-nics/controller0.yaml OS::TripleO::Compute0::Net::SoftwareConfig: ./spine-leaf-nics/compute0.yaml OS::TripleO::Compute1::Net::SoftwareConfig: ./spine-leaf-nics/compute1.yaml OS::TripleO::Compute2::Net::SoftwareConfig: ./spine-leaf-nics/compute2.yaml OS::TripleO::CephStorage0::Net::SoftwareConfig: ./spine-leaf-nics/CephStorage0.yaml OS::TripleO::CephStorage1::Net::SoftwareConfig: ./spine-leaf-nics/CephStorage1.yaml OS::TripleO::CephStorage2::Net::SoftwareConfig: ./spine-leaf-nics/CephStorage2.yaml
-
network-environment.yamlファイルを保存します。
3.8. スパイン/リーフのルーティング
各ロールには、同じ機能によって使用される別のサブネットをポイントする各分離ネットワーク上のルートが必要です。Compute1 ノードが InternalApi VIP 上のコントローラーにコンタクトする場合には、トラフィックは InternalApi1 ゲートウェイを介した InternalApi1 インターフェースをターゲットにする必要があります。その結果、コントローラーから InternalApi1 ネットワークに戻るトラフィックは、InternalApi ネットワークゲートウェイを経由するはずです。
supernet ルートは、各ロール上の全分離ネットワークに適用して、デフォルトのゲートウェイ経由でトラフィックが送信されるのを防ぎます。これは、デフォルトでは、コントローラー以外のロールの場合には Control Plane ネットワークで、コントローラー上の場合には External ネットワークです。
Red Hat Enterprise Linux は受信トラフィックに対して厳格な逆方向パスフィルターをデフォルトで実装するので、これらのルートを分離ネットワーク上で設定する必要があります。API が Internal API インターフェース上でリッスンしている場合には、要求はその API で受信し、戻るパスのルートが Internal API インターフェース上にある場合にのみ要求を受理します。サーバーが Internal API ネットワークをリッスンしているが、クライアントに戻るパスが Control Plane 経由の場合には、逆方向パスフィルターによりそのサーバーは要求を破棄します。
下図には、コントロールプレーンを経由してトラフィックのルーティングを試みて、成功しない例を示しています。ルーターからコントローラーノードに戻るルートは、VIP がリッスンしているインターフェースとは一致しないので、パケットは破棄されます。192.168.24.0/24 は直接コントローラーに接続され、Control Plane に対してローカルであると見なされます。
図3.1 コントロールプレーン経由のトラフィックルーティング

比較のために、Internal API ネットワーク経由のルーティングを以下に示します。
図3.2 Internal API 経由のトラフィックルーティング

3.9. コンポーザブルネットワークにルートを割り当てます。
この手順では、リーフネットワークのルーティングを定義します。
手順
-
network-environment.yamlファイルを編集します。 parameter_defaultsセクションに supernet ルートパラメーターを追加します。各分離ネットワークごとに supernet ルートを適用する必要があります。以下に例を示します。parameter_defaults: StorageSupernet: 172.16.0.0/16 StorageMgmtSupernet: 172.17.0.0/16 InternalApiSupernet: 172.18.0.0/16 TenantSupernet: 172.19.0.0/16
注記ネットワークインターフェースのテンプレートには、各ネットワークの supernet パラメーターを指定する必要があります。以下に例を示します。
- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute以下の
ExtraConfig設定をparameter_defaultsセクションに追加して、コンピュートノードおよび Ceph Storage ノード上の特定のコンポーネントのルーティングに対応します。parameter_defaults: ... Compute1ExtraConfig: nova::vncproxy::host: "%{hiera('internal_api1')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant1')}" Compute2ExtraConfig: nova::vncproxy::host: "%{hiera('internal_api2')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant2')}" Compute3ExtraConfig: nova::vncproxy::host: "%{hiera('internal_api3')}" neutron::agents::ml2::ovs::local_ip: "%{hiera('tenant3')}" CephAnsibleExtraConfig: public_network: '172.16.0.0/24,172.16.1.0/24,172.16.2.0/24' cluster_network: '172.17.0.0/24,172.17.1.0/24,172.17.2.0/24'コンピュートの
ExtraConfigパラメーターの場合:- VNC プロキシーに使用する IP アドレスを定義します。
- ML2 エージェントに使用する IP アドレスを定義します。
CephAnsibleExtraConfigの場合:-
public_networkの設定には、すべてのストレージネットワーク (1 リーフにつき 1 つ) がリストされます。 -
cluster_networkのエントリーにはストレージ管理ネットワーク (1 リーフにつき 1 つ) がリストされます。
-
3.10. コントロールプレーンのパラメーターの設定
分離されたスパイン/リーフネットワークのネットワーク詳細の定義には通常 network_data ファイルを使用します。コントロールプレーンネットワークは例外で、これはアンダークラウドによって作成されます。ただし、オーバークラウドには、各リーフのコントロールプレーンへのアクセスが必要です。これには、追加のパラメーターをいくつか設定する必要があり、network-environment.yaml ファイルで定義します。たとえば、以下のスニペットは、Leaf0 上のコントローラーノード用の NIC テンプレートのサンプルの抜粋です。
- type: interface
name: nic1
use_dhcp: false
dns_servers:
get_param: DnsServers
addresses:
- ip_netmask:
list_join:
- /
- - get_param: ControlPlaneIp
- get_param: ControlPlane0SubnetCidr
routes:
- ip_netmask: 169.254.169.254/32
next_hop:
get_param: Leaf0EC2MetadataIp
- ip_netmask: 192.168.10.0/24
next_hop:
get_param: ControlPlane0DefaultRouteこの場合は、Leaf 0 上のコントロールプレーンネットワークに対応するIP、サブネット、メタデータ IP、デフォルトルートを定義する必要があります。
手順
-
network-environment.yamlファイルを編集します。 parameter_defaultsセクションを以下のように編集します。メインのコントロールプレーンのサブネットへのマッピングを追加します。
parameter_defaults: ... ControlPlaneSubnet: leaf0
各スパイン/リーフ型ネットワーク用のコントロールプレーンのサブネットへのマッピングを追加します。
parameter_defaults: ... Controller0ControlPlaneSubnet: leaf0 Compute0ControlPlaneSubnet: leaf0 Compute1ControlPlaneSubnet: leaf1 Compute2ControlPlaneSubnet: leaf2 CephStorage0ControlPlaneSubnet: leaf0 CephStorage1ControlPlaneSubnet: leaf1 CephStorage2ControlPlaneSubnet: leaf2
各リーフにコントロールプレーンのルートを追加します。
parameter_defaults: ... ControlPlane0DefaultRoute: 192.168.10.1 ControlPlane0SubnetCidr: '24' ControlPlane1DefaultRoute: 192.168.11.1 ControlPlane1SubnetCidr: '24' ControlPlane2DefaultRoute: 192.168.12.1 ControlPlane2SubnetCidr: '24'
デフォルトルートのパラメーターは通常、プロビジョニングサブネットの
gatewayに設定される IP アドレスです。この情報については、undercloud.confファイルを参照してください。EC2 メタデータ IP 用のパラメーターの追加
parameter_defaults: ... Leaf0EC2MetadataIp: 192.168.10.1 Leaf1EC2MetadataIp: 192.168.11.1 Leaf2EC2MetadataIp: 192.168.12.1
これらは、 EC2 メタデータサービス (169.254.169.254/32) 用のコントロールプレーンを介したルートとして機能します。これは通常、プロビジョニングネットワーク上の各リーフの
gatewayに設定します。
-
network-environment.yamlファイルを保存します。
3.11. ロールデータファイルの作成
本項では、各リーフ用のコンポーザブルロールの定義して、それぞれのロールにコンポーザブルネットワークを接続する方法について実例をあげて説明します。
手順
stackユーザーのローカルディレクトリー内にカスタムrolesのディレクトリーを作成します。$ mkdir ~/roles
デフォルトの Controller、Compute、Ceph Storage ロールを director のコアテンプレートコレクションから roles ディレクトリーにコピーします。Leaf 0 用にファイルの名前を変更します。
$ cp /usr/share/openstack-tripleo-heat-templates/roles/Controller.yaml ~/roles/Controller0.yaml $ cp /usr/share/openstack-tripleo-heat-templates/roles/Compute.yaml ~/roles/Compute0.yaml $ cp /usr/share/openstack-tripleo-heat-templates/roles/CephStorage.yaml ~/roles/CephStorage0.yaml
Controller0.yamlファイルを編集します。$ vi ~/roles/Controller0.yaml
このファイルで
name、networks、HostnameFormatDefaultのパラメーターを編集して、Leaf 0 固有のパラメーターと一致するようにします。以下に例を示します。- name: Controller0 ... networks: - External - InternalApi0 - Storage0 - StorageMgmt0 - Tenant0 ... HostnameFormatDefault: '%stackname%-controller0-%index%'このファイルを保存します。
Compute0.yamlファイルを編集します。$ vi ~/roles/Compute0.yaml
このファイルで
name、networks、HostnameFormatDefaultのパラメーターを編集して、Leaf 0 固有のパラメーターと一致するようにします。以下に例を示します。- name: Compute0 ... networks: - InternalApi0 - Tenant0 - Storage0 HostnameFormatDefault: '%stackname%-compute0-%index%'このファイルを保存します。
CephStorage0.yamlファイルを編集します。$ vi ~/roles/CephStorage0.yaml
このファイルで
nameおよびnetworksのパラメーターを編集して、その値が Leaf 0 固有のパラメーターと一致するようにします。また、HostnameFormatDefaultパラメーターを追加して、Ceph Storage ノード用の Leaf 0 のホスト名を定義します。以下の例を示します。- name: CephStorage0 ... networks: - Storage0 - StorageMgmt0 HostnameFormatDefault: '%stackname%-cephstorage0-%index%'このファイルを保存します。
Leaf 0 の Compute と Ceph Storage のファイルをコピーして、Leaf 1 および Leaf 2 のファイルのベースにします。
$ cp ~/roles/Compute0.yaml ~/roles/Compute1.yaml $ cp ~/roles/Compute0.yaml ~/roles/Compute2.yaml $ cp ~/roles/CephStorage0.yaml ~/roles/CephStorage1.yaml $ cp ~/roles/CephStorage0.yaml ~/roles/CephStorage2.yaml
Leaf 1 および Leaf 2 のファイルで
name、networks、HostnameFormatDefaultのパラメーターを編集して、対応するリーフネットワークのパラメーターに一致するようにします。たとえば、Leaf 1 Compute ファイルには以下の値を使用します。- name: Compute1 ... networks: - InternalApi1 - Tenant1 - Storage1 HostnameFormatDefault: '%stackname%-compute1-%index%'Leaf 1 Ceph Storage パラメーターには以下の値を使用します。
- name: CephStorage1 ... networks: - Storage1 - StorageMgmt1 HostnameFormatDefault: '%stackname%-cephstorage1-%index%'ロールの準備が整ったら、以下のコマンドで完全なロールデータファイルを生成します。
$ openstack overcloud roles generate --roles-path ~/roles -o roles_data_spine_leaf.yaml Controller0 Compute0 Compute1 Compute2 CephStorage0 CephStorage1 CephStorage2
これにより、各リーフネットワーク用の全カスタムロールが含まれた完全な
roles_data_spine_leaf.yamlファイルが作成されます。
このファイルの完全なサンプルは、「付録C roles_data ファイルの例」に記載しています。
3.12. スパイン/リーフ対応のオーバークラウドのデプロイ
デプロイメントに向けた全ファイルの準備が整いました。本項には、各ファイルのレビューとデプロイメントのコマンドについて説明します。
手順
/home/stack/template/network_data_spine_leaf.yamlをチェックして、各リーフ用のネットワークがすべて含まれていることを確認します。注記ネットワークサブネットと
allocation_poolsの値に対して実行される検証は現在ありません。これらの値が一致するように定義して、既存のネットワークと競合が発生しないことを確認してください。-
~/templates/spine-leaf-nics/に含まれている NIC テンプレートをチェックして、各リーフ上の各ロールのインターフェースが正しく定義されていることを確認します。 -
network-environment.yaml環境ファイルをチェックして、ネットワークデータファイルでは制御できない全カスタムパラメーターが定義されていることを確認します。これには、ルート、コントロールプレーンのパラメーター、各ロールのカスタム NIC テンプレートを参照するresource_registryセクションが含まれます。 -
/home/stack/templates/roles_data_spine_leaf.yamlの値をチェックして、各リーフにロールが定義されていることを確認します。 -
/home/stack/templates/nodes_data.yamlファイルをチェックして、全ロールにフレーバーとノード数が割り当てられていることを確認します。また、各リーフの全ノードが正しくタグ付けされていることも確認してください。 openstack overcloud deployコマンドを実行して、スパイン/リーフの設定を適用します。以下に例を示します。openstack overcloud deploy --templates \ -n /home/stack/template/network_data_spine_leaf.yaml \ -r /home/stack/templates/roles_data_spine_leaf.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/nodes_data.yaml \ -e [OTHER ENVIRONMENT FILES]
環境ファイルを更に追加します (例: コンテナーイメージの場所や Ceph クラスターの設定を定義した環境ファイルなど)。
- スパイン/リーフ対応のオーバークラウドがデプロイされるまで待ちます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.