OpenStack Heat サービスとの統合
OpenStack Neutron LBaaSを利用すると、負荷分散、SSLオフロード、コンテンツスイッチなどの主要な負荷分散サービスをアプリケーションで使用できます。LBaaS は REST API を通じて管理され、API により、テナントは、LBaaS オブジェクトを作成、更新、削除するための REST 呼び出しを行うことができます。LBaaSでは負荷分散サービスが提供されるため、オーケストレーションプロセス中により高度なNetScaler ADC 機能を使用することはできません。この制限は、NetScaler Heatプラグインにより克服できます。
Heatオーケストレーションサービス
OpenStack Heatオーケストレーションサービスでは、テンプレートに基づいて複雑なクラウドアプリケーションを展開することができます。クラウドアプリケーションのインフラストラクチャは、バージョン管理ツールで管理可能なHeatオーケストレーションテンプレート(HOT:Heat orchestration template)により、人間が読み取り/書き込み可能なテキストファイルで指定します。このテンプレートは、YAMLという構造化言語を使用して記述します。HOTを使用することでほとんどの種類のOpenStackリソースを作成でき、このテンプレート内で定義したリソース間の関係を指定できます。NetScaler Heatプラグインを使用すると、すべてのNetScalerインスタンスで高度なアプリケーションデリバリーコントローラー(ADC:Application Delivery Controller)機能を構成できます。
NetScaler StyleBook
NetScaler Application Delivery Management (ADM)StyleBookを使用して、NetScalerの機能を作成および構成できます。Heatテンプレートと同様に、StyleBookもYAMLで記述します。機能ごとに個別のStyleBookを作成でき、単一のStyleBookを使用して複数のNetScalerインスタンスを展開可能です。
NetScalerがOpenStackと統合されている間、NetScaler ADMはすべてのNetScaler ADM StyleBookをHeat サービスのリソースとして公開します。これには、NetScaler ADM に同梱されているStyleBookと、後でユーザーが作成するStyleBookの両方が含まれます。Heatテンプレートでは、こうしたStyleBookリソースを使用してNetScalerの高度な機能を構成できます。
Heatを使用したNetScalerインスタンス構成のワークフロー
以下のフローチャートに、Heatスタックを展開するワークフローを示します。
クラウド管理者として次のタスクを実行します。
OpenStack で Heat サービスを設定するには:
-
OpenStack用NetScaler バンドルをダウンロード
NetScaler バンドルをOpenStackにインストールします。NetScaler ADM で、 ダウンロードに移動してNetScalerドライバーバンドルをダウンロードし 、バンドルを解凍して、バンドル内の Heat フォルダーの内容を OpenStack の Heat エンジンリソースディレクトリにコピーします。ディレクトリパスは次のとおりです。 /opt/stack/heat/heat/engine/resources/netscaler_resources
-
heat.conf ファイルに「netscaler_plugin」セクションを作成し、そのセクションの以下のパラメーターを更新します。
[netscaler_plugin]
-
通信が HTTP の場合、パラメータは次のように更新されます。
NMAS_BASE_URI=<
http://10.146.103.45:80
>NMAS_USERNAME=
NMAS_PASSWORD=
-
通信が https の場合、パラメータは次のように更新されます。
NMAS_BASE_URI
https://common_name_used_in_certificate
NMAS_USERNAME=<openstack_driver_username
NMAS_PASSWORD=<openstack_driver_password>
SSL_CERT_VERIFY=<True_or_False>
CERT_FILE_PATH=<path_of_the_certificate_file>
ユーザーがssl_cert_verifyを「False」に設定すると、NetScaler ADMはリクエスト呼び出しでVerify=Falseを送信し、SSL証明書の検証を無効にします。ssl_cert_verifyが「True」に設定されていて、cert_file_pathエントリが存在する場合、NetScaler ADM はリクエストのverifyパラメータにこのパスを送信します。そうでない場合、NetScaler ADMはverify=trueを送信します。
注:
NetScaler ADMを「高可用性」モードで展開する場合は、heat.confファイルの次のパラメータを更新します:
NMAS_BASE_URI= <IP address of the front-end virtual server>
-
-
OpenStack で Heat サービスを再起動します。
OpenStackでNetScaler Heat サービスを再起動すると、定義されているすべてのNetScaler ADM StyleBookがリソースとして Heat にインポートされます。また、NetScalerネットワークリソースおよび証明書リソースも、NetScaler HeatリソースとしてOpenStackにインポートされます。
-
NetScaler ADM をOpenStackに登録します。
-
NetScaler ADM で、「オーケストレーション」>「 **クラウドオーケストレーション** 」>「OpenStack」に移動し、「 **OpenStack設定の構成」をクリックします。**
-
OpenStack の設定ページでは 、OpenStack を設定するためのパラメーターを設定できます。[Default]と[Customized]の2つのオプションがあります。
-
OpenStack サービスがデフォルトポートで実行されている場合は 、「デフォルト」を選択します。以下のパラメーターを入力します。
-
OpenStackコントローラーのIPアドレス
-
管理者ユーザー名
-
パスワード
-
OpenStack 管理者テナント
-
NetScalerドライバーおよびHeatのパスワード
注:
これは heat.conf ファイルに入力したパスワード (NMAS_PASSWORD) と同じです。
-
-
-
サービスパッケージを作成し、テナントで SLA を定義します。
OpenStackの登録時にNetScaler ADMでユーザーごとにテナントが作成され、テナント情報はLBaaSドライバーとHeatプラグインの両方で使用されます。Heatプラグインはこの情報を使用してNetScaler ADM に連絡し、OpenStackにHeatリソースとしてStyleBookをインポートします。
注:
NetScaler ADM および OpenStack でのサービスパッケージの作成およびその他の事前構成タスクの詳細については、「 NetScaler ADM と OpenStack Platform の統合」を参照してください。
-
NetScaler ADM内の関連するすべてのStyleBookがリソースとしてOpenStack Heatにインポートされます。また、NetScaler ネットワークリソースとNetScaler ADC証明書リソースがリソースとしてOpenStack Heatにインポートされることも確認します。
注
現在、NetScaler ADMに同梱されているStyleBookのみを使用できます。
テナントはOpenStackでHeatテンプレートを作成して必要なHeatパラメーターの値を入力し、Heatスタックを展開できるようになりました。Heatスタックが展開されると、構成がNetScaler ADMにプッシュされ、必要なNetScalerインスタンスが構成されます。
Heat テンプレートを準備して Heat スタックを起動するには:
-
OpenStackでは、テナントでHeatリソースを使用してHOTを作成できます。
-
OpenStack Horizon では、テナント管理者はプロジェクト >**オーケストレーション** > スタックに移動して Heat テンプレートを作成し、Heat スタックを起動できます。HOT を作成するには 2 つの方法があります。
- ファイル -ローカルディレクトリから更新されたテンプレートを選択します
- 直接入力 -YAML コンテンツをテンプレートからコピーしてウィンドウに貼り付けます
注:
スタックのデプロイが成功すると、テナントはスタック変更テンプレートを使用してスタックを更新できます。ただし、スタックの作成中に初回設定したサブネット情報と仮想IPアドレス(VIP:Virtual IP Address)を変更することはできません。
テナントがスタックをデプロイしたら、NetScaler ADM で「オーケストレーション 」>「クラウドオーケストレーション」>「OpenStack」>「リクエスト 」の順に選択し、タスクのリストを確認します。また、NetScaler ADM の「アプリケーション 」> 「構成 」に移動して、NetScalerインスタンスがStyleBooks構成パックの形式で正常に構成されていることを確認します。
NetScaler ADM StyleBookの例:
次の図は、NetScaler ADM StyleBookの構成例とコンポーネントを簡単に説明したものです。NetScaler ADM StyleBooksおよび同梱されているStyleBookの使用方法の詳細については、「 StyleBook」を参照してください。
Heat テンプレートの例:
次の図は、YAMLで定義されているHeatテンプレートの構造を示し、HeatリソースとしてインポートされるStyleBooksリソースおよびNetScaler ADC ネットワークリソースを示します。
Heat サービスの詳細とテンプレートの作成方法については、OpenStack Heat のドキュメントを参照してください。