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スタックを展開するワークフローを示します。

Heat を使用して ADC インスタンスを設定するワークフロー

クラウド管理者として次のタスクを実行します。

OpenStack で Heat サービスを設定するには:

  1. OpenStack用NetScaler バンドルをダウンロード

    NetScaler バンドルをOpenStackにインストールします。NetScaler ADM で、 ダウンロードに移動してNetScalerドライバーバンドルをダウンロードし 、バンドルを解凍して、バンドル内の Heat フォルダーの内容を OpenStack の Heat エンジンリソースディレクトリにコピーします。ディレクトリパスは次のとおりです。 /opt/stack/heat/heat/engine/resources/netscaler_resources

  2. heat.conf ファイルに「netscaler_plugin」セクションを作成し、そのセクションの以下のパラメーターを更新します。

    [netscaler_plugin]

    1. 通信が HTTP の場合、パラメータは次のように更新されます。

      NMAS_BASE_URI=<http://10.146.103.45:80>

      NMAS_USERNAME=

      NMAS_PASSWORD=

    2. 通信が https の場合、パラメータは次のように更新されます。

      NMAS_BASE_URIhttps://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>

  3. OpenStack で Heat サービスを再起動します。

    OpenStackでNetScaler Heat サービスを再起動すると、定義されているすべてのNetScaler ADM StyleBookがリソースとして Heat にインポートされます。また、NetScalerネットワークリソースおよび証明書リソースも、NetScaler HeatリソースとしてOpenStackにインポートされます。

  4. NetScaler ADM をOpenStackに登録します。

    1. NetScaler ADM で、「オーケストレーション」>「 **クラウドオーケストレーション** 」>「OpenStack」に移動し、「 **OpenStack設定の構成」をクリックします。**

    2. OpenStack の設定ページでは 、OpenStack を設定するためのパラメーターを設定できます。[Default]と[Customized]の2つのオプションがあります。

    3. OpenStack サービスがデフォルトポートで実行されている場合は 、「デフォルト」を選択します。以下のパラメーターを入力します。

      1. OpenStackコントローラーのIPアドレス

      2. 管理者ユーザー名

      3. パスワード

      4. OpenStack 管理者テナント

      5. NetScalerドライバーおよびHeatのパスワード

      注:

      これは heat.conf ファイルに入力したパスワード (NMAS_PASSWORD) と同じです。

  5. サービスパッケージを作成し、テナントで SLA を定義します。

    OpenStackの登録時にNetScaler ADMでユーザーごとにテナントが作成され、テナント情報はLBaaSドライバーとHeatプラグインの両方で使用されます。Heatプラグインはこの情報を使用してNetScaler ADM に連絡し、OpenStackにHeatリソースとしてStyleBookをインポートします。

    注:

    NetScaler ADM および OpenStack でのサービスパッケージの作成およびその他の事前構成タスクの詳細については、「 NetScaler ADM と OpenStack Platform の統合」を参照してください。

  6. NetScaler ADM内の関連するすべてのStyleBookがリソースとしてOpenStack Heatにインポートされます。また、NetScaler ネットワークリソースとNetScaler ADC証明書リソースがリソースとしてOpenStack Heatにインポートされることも確認します。

    現在、NetScaler ADMに同梱されているStyleBookのみを使用できます。

    テナントはOpenStackでHeatテンプレートを作成して必要なHeatパラメーターの値を入力し、Heatスタックを展開できるようになりました。Heatスタックが展開されると、構成がNetScaler ADMにプッシュされ、必要なNetScalerインスタンスが構成されます。

Heat テンプレートを準備して Heat スタックを起動するには:

  1. OpenStackでは、テナントでHeatリソースを使用してHOTを作成できます。

  2. OpenStack Horizon では、テナント管理者はプロジェクト >**オーケストレーション** > スタックに移動して Heat テンプレートを作成し、Heat スタックを起動できます。HOT を作成するには 2 つの方法があります。

    • ファイル -ローカルディレクトリから更新されたテンプレートを選択します
    • 直接入力 -YAML コンテンツをテンプレートからコピーしてウィンドウに貼り付けます

    注:

    スタックのデプロイが成功すると、テナントはスタック変更テンプレートを使用してスタックを更新できます。ただし、スタックの作成中に初回設定したサブネット情報と仮想IPアドレス(VIP:Virtual IP Address)を変更することはできません。

    テナントがスタックをデプロイしたら、NetScaler ADM で「オーケストレーション 」>「クラウドオーケストレーション」>「OpenStack」>「リクエスト 」の順に選択し、タスクのリストを確認します。また、NetScaler ADMの[アプリケーション ]>[構成 ]の順に選択し、NetScaler ADCインスタンスがStyleBooks構成パックの形式で正常に構成されていることを確認します。

NetScaler ADM StyleBookの例:

次の図は、NetScaler ADM StyleBookの構成例とコンポーネントを簡単に説明したものです。NetScaler ADM StyleBooksおよび同梱されているStyleBookの使用方法の詳細については、「 StyleBook」を参照してください。

StyleBooks の例

Heat テンプレートの例:

次の図は、YAMLで定義されているHeatテンプレートの構造を示し、HeatリソースとしてインポートされるStyleBooksリソースおよびNetScaler ADC ネットワークリソースを示します。

Heat テンプレートの例

Heat サービスの詳細とテンプレートの作成方法については、OpenStack Heat のドキュメントを参照してください

OpenStack Heat サービスとの統合