第6章 実例
本章では、Red Hat OpenStack Platform の一部としてベンダーのソリューションを統合する実例を取り上げて説明します。
6.1. Cisco Nexus 1000V リンクのコピーリンクがクリップボードにコピーされました!
Cisco Nexus 1000V は、仮想マシンアクセス用に設計されたネットワークスイッチです。また、VXLAN、ACL、IGMP スヌーピングを使用した高度なスイッチおよびセキュリティー機能を提供します。Cisco Nexus 1000V の ml2 ドライバーは networking-cisco
リポジトリーに含まれており、Neutron サービスと共にインストールできます。
オーバークラウドのイメージには Neutron Puppet モジュール (puppet-neutron
) が含まれており、このモジュールに、Neutron が Cisco Nexus 1000V を使用するように設定するためのクラス (neutron::plugins::ml2::cisco::nexus1000v
) が含まれます。このクラスは、モジュールの manifests/plugins/ml2/cisco/nexus1000v.pp
マニフェストに配置されています。このクラスは、デフォルトのパラメーターセットを使用しますが、このデフォルトパラメーターを上書きして neutron_plugin_ml2
ライブラリーを使用し、m2 プラグインが Cisco Nexus 1000V を使用するように設定することができます。
director の Heat テンプレートコレクションには、Cisco Nexus 1000V の Hiera データを設定するための環境ファイルと登録済みのテンプレートが含まれています。環境ファイルは、environments/cisco-n1kv-config.yaml
に配置されており、以下のデフォルトの内容が含まれます。
resource_registry
は、コントローラーとコンピュートノード (OS::TripleO::ControllerExtraConfigPre
および OS::TripleO::ComputeExtraConfigPre
) の事前設定リソースが puppet/extraconfig/pre_deploy/controller/cisco-n1kv.yaml
を事前設定用のテンプレートとして使用するように設定します。parameter_defaults
のセクションには、これらのリソースに渡すパラメーターの一部が含まれます。
デプロイメントにこの環境ファイルを追加すると Hiera データが定義され、設定中に Puppet が Neutron Puppet モジュールのパラメーターにこのデータを使用します。
Puppet 設定を実際に適用するのは、自動で開始されます。Heat テンプレートコレクションには、コントローラーとコンピュートノードを設定するコアの Puppet マニフェストセットが含まれます。これらのファイルには、Cisco Nexus 1000V Hiera データが設定されていることを検出するためのロジックが含まれます。デプロイメントに cisco-n1kv.yaml
を含めることで、マニフェストに neutron::plugins::ml2::cisco::nexus1000v
クラスと Cisco Nexus 1000V の VEM と VSM エージェントが追加されます。
これは、オーバークラウドが Cisco Nexus 1000V のみを使用するように設定するには以下のステップが必要であるという意味です。
environments/cisco-n1kv-config.yaml
ファイルを編集できるように、ローカルの場所にコピーします。cp /usr/share/openstack-tripleo-heat-templates/environments/cisco-n1kv-config.yaml ~/templates/.
$ cp /usr/share/openstack-tripleo-heat-templates/environments/cisco-n1kv-config.yaml ~/templates/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cisco-n1kv-config.yaml
ファイルを編集します。-
cisco-n1kv.yaml
を参照する絶対パスを使用するようにresource_registery
セクションを変更します。 Cisco Nexus 1000V パラメーターを追加するように
parameter_defaults
セクションを変更します。参考としてcisco-n1kv.yaml
を参照してください。例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
デプロイメントに
cisco-n1kv-config.yaml
ファイルを追加します。openstack overcloud deploy --templates -e ~/templates/cisco-n1kv-config.yaml
$ openstack overcloud deploy --templates -e ~/templates/cisco-n1kv-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これは、オーバークラウドの Hiera データの一部として Cisco Nexus 1000V 設定を定義します。次に、オーバークラウドはこの Hieradata を使用して、コアの設定中に Neutron の Nexus 1000V ml2 ドライバーを設定します。
このセクションでは、director が認定済みのベンダーからのネットワークコンポーネントとオーバークラウドの Neutron サービスを統合する方法について、実例を挙げて説明しました。
6.2. NetApp ストレージ リンクのコピーリンクがクリップボードにコピーされました!
NetApp は、OpenStack ストレージのコンポーネントに統合するソリューションを複数提供します。以下の例では、ブロックストレージのバックエンドを提供するためにどのように NetApp Storage と Cinder を統合するかを示します。
Cinder のドライバーは、プロジェクト自体に含まれており、GitHub https://github.com/openstack/cinder で公開されています。NetApp のドライバーは、リポジトリーの cinder/volume/drivers/netapp/
ディレクトリーに配置されています。これは、ドライバーが Red Hat OpenStack Platform に自動で追加されることを意味します。
NetApp の設定は、オーバークラウドのイメージにも含まれる Cinder の Puppet モジュール (puppet-cinder
) の中にあります。この設定が含まれる Puppet モジュールのマニフェストは manifests/backend/netapp.pp
に配置されています。このマニフェストは cinder_config
ライブラリーを使用して、netapp の設定を Cinder 設定ファイルに追加します。
director の Heat テンプレートコレクションには、NetApp Storage バックエンドの Hiera データを設定するための環境ファイルと登録済みのテンプレートが含まれています。環境ファイルは、environments/cinder-netapp-config.yaml
に配置されており、以下のデフォルトの内容が含まれます。
resource_registry
は、コントローラーノード (OS::TripleO::ControllerExtraConfigPre
) の事前設定リソースが puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
を事前設定用のテンプレートとして使用するように設定します。parameter_defaults
のセクションには、これらのリソースに渡すパラメーターの一部が含まれます。
デプロイメントにこの環境ファイルを追加すると Hiera データが定義され、設定中に Puppet が Cinder Puppet モジュールのパラメーターにこのデータを使用します。
CinderEnableNetappBackend
パラメーターにより、Puppet 設定の適用が実際に開始されるかが決まります。Heat テンプレートコレクションには、コントローラーノードを設定するコアの Puppet マニフェストセットが含まれます。これらのファイルには、cinder_enable_netapp_backend
Hiera データが設定されているかどうかを検出するロジックが含まれます。Hiera データは、事前設定の CinderEnableNetappBackend
パラメーターを使用して設定されます。デプロイメントに cinder-netapp-config.yaml
を追加して CinderEnableNetappBackend: true
をそのままにすると、コントローラーの Puppet マニフェストには cinder::backend::netapp
クラスが追加され、環境ファイルからの Hiera データの値を渡します。
これは、オーバークラウドが NetApp Storage のみを使用するように設定するには以下のステップが必要であるという意味です。
environments/cinder-netapp-config.yaml
ファイルを編集できるように、ローカルの場所にコピーします。cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/.
$ cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cinder-netapp-config.yaml
ファイルを編集します。-
cinder-netapp.yaml
を参照する絶対パスを使用するようにresource_registery
セクションを変更します。 NetApp パラメーターを追加するように
parameter_defaults
セクションを変更します。参考としてcinder-netapp.yaml
を参照してください。例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CinderEnableNetappBackend
はtrue
設定のままにしておいてください。
-
デプロイメントに
cinder-netapp-config.yaml
ファイルを追加します。openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yaml
$ openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これは、オーバークラウドの Hiera データの一部として NetApp Storage 設定を定義します。次に、オーバークラウドはこの Hieradata を使用して、コアの設定中にCinder の NetApp バックエンドを設定します。
このセクションでは、director が認定済みのベンダーからのストレージコンポーネントとオーバークラウドの Cinder サービスを統合する方法について、実例を挙げて説明しました。