OpenStack Heatサービスとの統合
OpenStack Neutron LBaaSは、アプリケーション向けに、ロードバランシング、SSLオフロード、コンテンツスイッチングなどのコアロードバランシングサービスを可能にします。LBaaSはREST APIを介して管理され、APIによりテナントはRESTコールを行ってLBaaSオブジェクトを作成、更新、削除できます。LBaaSはロードバランシングサービスを提供するため、オーケストレーションプロセス中にNetScalerのより高度な機能を使用することはできません。NetScaler Heatプラグインはこの制限を克服します。
Heatオーケストレーションサービス
OpenStack Heatオーケストレーションサービスは、テンプレートに基づいて複雑なクラウドアプリケーションの展開を可能にします。Heatオーケストレーションテンプレート(HOT)は、人間が読み書きでき、バージョン管理ツールで管理できるテキストファイルでクラウドアプリケーションのインフラストラクチャを記述します。これらのテンプレートの作成には、構造化言語であるYAMLが使用されます。HOTテンプレートを使用すると、ほとんどのOpenStackリソースタイプを作成し、その中で定義されているリソース間の関係を指定できます。NetScaler Heatプラグインを使用すると、任意のNetScalerインスタンスで高度なNetScaler機能を構成できます。
NetScaler StyleBooks
NetScaler Console StyleBooksは、NetScaler機能を作成および構成するために使用できます。Heatテンプレートと同様に、StyleBooksもYAMLで記述されています。機能ごとに個別のStyleBooksを作成でき、単一のStyleBooksを使用して複数のNetScalerインスタンスに構成を展開できます。
NetScalerとOpenStackの統合中、NetScaler ConsoleはすべてのNetScaler Console StyleBooksをHeatサービスのリソースとして公開します。これには、NetScaler Consoleに同梱されているStyleBooksと、ユーザーが後で作成したStyleBooksの両方が含まれます。Heatテンプレートを使用すると、これらのStyleBooksリソースを使用してNetScalerの高度な機能を構成できます。
Heatを使用してNetScalerインスタンスを構成するワークフロー
以下のフローチャートは、Heatスタックを展開するためのワークフローを示しています。
Heatを使用してNetScalerインスタンスを構成するワークフローの図(/en-us/netscaler-application-delivery-management-software/media/openstack-heat-integration-workflow-kopis-console.png)
クラウド管理者として、以下のタスクを実行します。
OpenStackでHeatサービスを構成するには:
-
OpenStack用NetScalerバンドルをダウンロードするOpenStackにNetScalerバンドルをインストールします。NetScaler Consoleで、Downloadsに移動し、NetScalerドライバーバンドルをダウンロードし、バンドルを解凍し、バンドル内のHeatフォルダーの内容をOpenStackのHeatエンジンリソースディレクトリにコピーします。ディレクトリパスは次のとおりです。 /opt/stack/heat/heat/engine/resources/netscaler_resources
-
heat.confファイルに「netscaler_plugin」セクションを作成し、そのセクションで以下のパラメーターを更新します。
-
通信がHTTPの場合、パラメータは次のように更新されます。NMAS_BASE_URI=<
http://10.146.103.45:80>NMAS\_USERNAME=<openstack_driver_username>NMAS\_PASSWORD=<openstack_driver_password> -
通信がHTTPSの場合、パラメータは次のように更新されます。NMAS_BASE_URI=
https://common_name_used_in_certificateNMAS\_USERNAME=\<openstack\_driver\_usernameNMAS\_PASSWORD=\<openstack\_driver\_password\>SSL\_CERT\_VERIFY=\<True\_or\_False\>CERT\_FILE\_PATH=\<path\_of\_the\_certificate\_file\>ユーザーがssl\_cert\_verifyを「False」に設定すると、NetScaler Consoleはリクエスト呼び出しでverify=Falseを送信し、SSL証明書の検証を無効にします。ssl\_cert\_verifyが「True」に設定されており、cert\_file\_pathエントリが存在する場合、NetScaler Consoleはリクエストのverifyパラメータにこのパスを送信します。それ以外の場合、NetScaler Consoleはverify=Trueを送信します。注NetScaler Consoleを「高可用性」モードで展開するには、heat.confファイルで次のパラメータを更新します。NMAS\_BASE\_URI=\<フロントエンド仮想サーバーのIPアドレス\>
-
-
OpenStackでHeatサービスを再起動します。OpenStackでNetScaler Heatサービスを再起動すると、定義されているすべてのNetScaler Console StyleBookがリソースとしてHeatにインポートされます。また、NetScalerネットワークリソースと証明書リソースも、NetScaler HeatリソースとしてOpenStackにインポートされます。
-
NetScaler ConsoleをOpenStackに登録します。
-
NetScaler Consoleで、Orchestration \> Cloud Orchestration \> OpenStack の順に移動し、Configure OpenStack Settings をクリックします。
-
Configure OpenStack Settings ページで、OpenStackを構成するためのパラメーターを設定できます。ここでは、DefaultとCustomizedの2つのオプションがあります。
-
OpenStackサービスがデフォルトポートで実行されている場合は、Default を選択します。次のパラメーターを入力します。
-
OpenStackコントローラーのIPアドレス
-
管理者ユーザー名
-
パスワード
-
OpenStack管理者テナント
-
NetScalerドライバーとHeatのパスワード
注これは、heat.confファイルに入力したパスワード (NMAS\_PASSWORD) と同じです。 -
-
-
サービスパッケージを作成し、テナントとのSLAを定義します。OpenStack登録中に、各ユーザーに対してNetScaler Consoleにテナントが作成され、そのテナント情報はLBaaSドライバーとHeatプラグインの両方で使用されます。Heatプラグインはこの情報を使用してNetScaler Consoleに接続し、StyleBookをOpenStackのHeatリソースとしてインポートします。注記NetScaler ConsoleおよびOpenStackでのサービスパッケージの作成やその他の事前設定タスクの詳細については、NetScaler ConsoleとOpenStackプラットフォームの統合を参照してください。
-
NetScaler Consoleの関連するすべてのStyleBookがOpenStack Heatにリソースとしてインポートされていることを確認してください。また、NetScalerネットワークリソースとNetScaler証明書リソースもOpenStack Heatにリソースとしてインポートされていることを確認してください。注記現在、NetScaler Consoleに同梱されているStyleBookのみを使用できます。テナントは現在、OpenStackでHeatテンプレートを作成し、必要なHeatパラメーターの値を入力して、Heatスタックを展開できます。Heatスタックが展開されると、構成がNetScaler Consoleにプッシュされ、必要なNetScalerインスタンスが構成されます。
Heatテンプレートを準備してHeatスタックを起動するには:
-
OpenStackでは、テナントはHeatリソースを使用してHeatオーケストレーションテンプレート(HOT)を作成できます。
-
OpenStack Horizonでは、テナント管理者はProject \> Orchestration \> Stacksに移動して、Heatテンプレートを作成し、Heatスタックを起動できます。HOTを作成する方法は2つあります。
-
ファイル - ローカルディレクトリから更新されたテンプレートを選択します
-
直接入力 - ウィンドウのテンプレートからYAMLコンテンツをコピーして貼り付けます
注記スタックの展開に成功した後、テナントはChange Stack Templateを使用してスタックを更新できます。ただし、スタックの作成時に最初に提供されたサブネット情報と仮想IPアドレス(VIP)は変更できません。テナントがスタックを展開した後、NetScaler ConsoleのOrchestration \> Cloud Orchestration \> OpenStack \> Requestsに移動してタスクのリストを確認します。また、NetScaler ConsoleのApplications \> Configurationに移動して、NetScalerインスタンスがStyleBooks構成パックの形式で正常に構成されていることを確認します。 -
NetScaler Console スタイルブックの例:
以下の画像は、NetScaler Console StyleBooksがどのように構築され、そのコンポーネントが簡単に説明されている例を示しています。NetScaler Console StyleBooksの詳細と、付属のStyleBooksの使用方法については、StyleBooksを参照してください。
Heatテンプレートの例:
以下の画像は、YAMLで定義されたHeatテンプレートの構造を示し、HeatリソースとしてインポートされるStyleBooksリソースとNetScalerネットワークリソースを指しています。
Heatサービスとテンプレートの作成方法の詳細については、OpenStack Heatドキュメントを参照してください。