73
© 1999-2017 Citrix Systems, Inc. All rights reserved. p.1 https://docs.citrix.com NetScaler CPXについて アーキテクチャとトラフィックフロー CPXのライセンス NetScaler CPXのインストール NetScaler CPXの構成 NetScaler CPXインスタンスのアップグレードまたはダウングレード NetScaler CPXインスタンスでのワイルドカード仮想サーバーの使用 ネットワークへの直接アクセスが有効なNetScaler CPXの展開 East-Westトラフィックフローを可能にするためのNetScaler CPXのプロキシと しての展開 単一ホストネットワークでのNetScaler CPXの展開 マルチホストネットワークでのNetScaler CPXの展開 MesosおよびMarathon環境でのNetScaler CPXの展開 NetScaler MASを使用したNetScaler CPXインスタンスとMesosMarathonInfoBlox、およびNuage の統合 Kubernetes環境でのNetScaler CPXの展開 NetScaler CPX 11.1 Dec 15, 2016

NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.1https://docs.citrix.com

NetScaler CPXについて

アーキテクチャとトラフィックフロー

CPXのライセンス

NetScaler CPXのインストール

NetScaler CPXの構成

NetScaler CPXインスタンスのアップグレードまたはダウングレード

NetScaler CPXインスタンスでのワイルドカード仮想サーバーの使用

ネットワークへの直接アクセスが有効なNetScaler CPXの展開

East-Westトラフィックフローを可能にするためのNetScaler CPXのプロキシとしての展開

単一ホストネットワークでのNetScaler CPXの展開

マルチホストネットワークでのNetScaler CPXの展開

MesosおよびMarathon環境でのNetScaler CPXの展開

NetScaler MASを使用したNetScaler CPXインスタンスとMesos、Marathon、InfoBlox、およびNuageの統合

Kubernetes環境でのNetScaler CPXの展開

NetScaler CPX 11.1

Dec 15, 2016

Page 2: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.2https://docs.citrix.com

NetScaler CPXについて

Dec 15, 2016

Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

ングできます。 NetScaler CPXを使用することにより、Dockerエンジン機能を利用し、NetScalerの負荷分散機能とトラ

フィック管理機能を、コンテナーベースのアプリケーション向けに活用できます。 1つまたは複数のNetScaler CPXインスタ

ンスを、スタンドアロンインスタンスとしてDockerホストで展開できます。

NetScaler CPXインスタンスの最大スループットは1Gbpsです。

このドキュメントは、ユーザーがDockerとその機能を理解していることを前提としています。 Dockerについて詳しくは、

Dockerのドキュメント(https://docs.docker.com)を参照してください。

サポートされる機能

NetScaler CPXでは、次の機能がサポートされます。

アプリケーションの可用性

L4の負荷分散およびL7のコンテンツスイッチ

SSLオフロード

IPv6プロトコル変換

アプリケーションのセキュリティ

L7の書き換えおよびレスポンダー

簡単な管理機能

Webログ

AppFlow

Page 3: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.3https://docs.citrix.com

アーキテクチャとトラフィックフロー

Dec 15, 2016

NetScaler CPXインスタンスをDockerホストにプロビジョニングすると、Dockerエンジンによって仮想インターフェイス

eth0がCPXインスタンスに作成されます。 このeth0インターフェイスは、docker0ブリッジで仮想インターフェイス

(veth*)に直接接続されます。 また、Dockerエンジンによって、ネットワーク172.17.0.0/16のNetScaler CPXインスタン

スにIPアドレスが割り当てられます。

CPXインスタンスのデフォルトゲートウェイは、docker0ブリッジのIPアドレスです。これは、NetScaler CPXインスタンス

とのすべての通信が、Dockerネットワークを介して行われることを意味します。 docker0ブリッジからのすべての受信トラ

フィックが、NetScaler CPXインスタンスのeth0インターフェイスで受信され、NetScaler CPXパケットエンジンによって処

理されます。

次の図は、Dockerホスト上のNetScaler CPXインスタンスのアーキテクチャを示しています。

単一IPアドレスがNetScaler CPXで機能するしくみ

通常のNetScaler MPXまたはVPXアプライアンスでは、少なくとも以下に示す3つのIPアドレスが機能している必要がありま

す。

NetScaler IP(NSIP)アドレスと呼ばれる管理IPアドレス

サーバーファームとやり取りするためのサブネットIP(SNIP)アドレス

クライアント要求を受け付ける仮想サーバーIP(VIP)アドレス

Page 4: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.4https://docs.citrix.com

NetScaler CPXインスタンスは、管理とデータトラフィック用に使用される、単一IPアドレスで動作します。

プロビジョニング中は、Dockerエンジンによって、1つのプライベートIPアドレス(単一IPアドレス)のみがNetScaler CPX

インスタンスに割り当てられます。 NetScalerインスタンスの3つのIP機能が1つのIPアドレス上で多重化されます。 この単

一IPアドレスは、異なるポート番号を使用して、NSIP、SNIP、およびVIPとして機能します。

次の図は、単一IPアドレスを使用してNSIP、SNIP、およびVIPの機能を実行する方法を示しています。

NetScaler CPXインスタンスからの要求のトラフィックフロー

Dockerでは、NetScaler CPXインスタンスからのトラフィックがdocker0のIPアドレスに転送されるよう、IPの一覧とNAT規

則が暗黙的に構成されます。

次の図は、NetScaler CPXインスタンスからのping要求が、どのようにして宛先に到達するかを示しています。

Page 5: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.5https://docs.citrix.com

この例のping要求は、ソースIPアドレスをNetScaler CPX IPアドレス(172.17.0.4)として、eth0インターフェイスのパケッ

トエンジンによって送信されます。 次に、Dockerホストが実行するネットワークアドレス変換(NAT)によって、ホストIP

アドレス(192.68.x.x)がソースIPアドレスとして追加され、要求が宛先(216.58.x.x)に送信されます。 ターゲットIPアド

レスからの応答は、逆の順序で同じパスをたどります。 Dockerホストが応答に対してNATを実行し、eth0インターフェイ

スのNetScaler CPXインスタンスに応答を転送します。

外部ネットワークからの要求のトラフィックフロー

NetScaler CPXのプロビジョニング中に外部通信を可能にするには、Dockerで80や22などの特定のポートや、その他の任意

のポートが公開されるようにパラメーターを設定する必要があります。 プロビジョニング中に公開されるように設定されて

いるポートがない場合は、DockerホストにNAT規則を構成して、これらのポートを使用可能にする必要があります。

Dockerホストは、インターネットからのクライアント要求を受信し、次にポートアドレス変換(PAT)を実行して、パブ

リックIPアドレスおよびポートをNetScaler CPXインスタンスの単一IPアドレスとポートにマップし、トラフィックをインス

タンスに転送します。

次の図は、Dockerホストがポートアドレス変換を実行し、トラフィックをNetScaler CPXの単一IPアドレスおよびポートに

転送する方法を示しています。

Page 6: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.6https://docs.citrix.com

この例で、DockerホストのIPアドレスは192.68.x.xで、NetScaler CPXインスタンスの単一IPアドレスは172.17.0.4です。

NetScaler CPXインスタンスのSSHポート22は、Dockerホストのポート1100にマップされます。 クライアントのSSH要求

は、IPアドレス192.68.x.xのポート1100で受信されます。 Dockerホストがポートアドレス変換を実行して、このアドレスと

ポートをポート22の単一IPアドレス172.17.0.4にマップし、クライアント要求を転送します。

Page 7: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.7https://docs.citrix.com

CPXのライセンス

Dec 15, 2016

CPXインスタンスのライセンスを有効化すると、NetScaler CPXのパフォーマンスを強化できます。 NetScaler MASを使用し

てCPXライセンスをプールし、それをライセンスサーバーとして使用します。 MASでライセンスをインストールするには、

Citrixから購入したライセンスファイルをGUIからアップロードします。 CPXインスタンスにライセンスを割り当てるには、

構成ジョブやCPXのNitroを使用できます。

次の表は、ライセンスされたCPXと未ライセンスのCPX(CPX Express)の相違点を示しています。

未ライセンスの未ライセンスのCPX ライセンスされたライセンスされたCPX

スループットスループット 20Mbps 1000Mbps

SSL接続接続 250 1500

CPXライセンスファイルをライセンスファイルをNetScaler MASでインストールするにはでインストールするには

1. Webブラウザーに、NetScaler Management and Analytics SystemのIPアドレスを入力します

(「http://192.168.100.1」など)。

2. [[User Name]]ボックスと[[Password]]ボックスに管理者資格情報を入力します。

3. [[Configuration]]タブで、[[ Infrastructure]]>[[Licenses]]>[[Settings]]の順に選択します。

4. [Details]ペインで[[License Files]]、[[Upload license files f rom a local computer]]の順に選択します。

Page 8: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.8https://docs.citrix.com

5. [[Browse]]をクリックして、ライセンスの割り当てに使用するライセンスファイル(.lic)を選択します。 [完了][完了]をク

リックします。

6. [License Settings]から、いつでもNetScaler Management and Analytics Systemにライセンスを追加できます。

確認確認

NetScaler MASにインストールされたライセンスを確認するには、[[ Infrastructure]]>[[Licenses]]>[[CPX Licenses]]の順に選択します。

MAS構成ジョブを使用した、NetScaler CPXインスタンスのライセンス有効化

NetScaler MASでジョブを構成してNetScaler CPXインスタンスのライセンスを有効化できます。

ジョブを使用してジョブを使用してNetScaler CPXにライセンスを割り当てるにはにライセンスを割り当てるには

1. 管理者資格情報を使用して、NetScaler MASにログオンします。

Page 9: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.9https://docs.citrix.com

2. [[ Infrastructure]]>[[Configuration Jobs]]の順に選択し、[[Create Job]]をクリックします。

3. 必要な値を指定して構成ソースを選択したら、次の図のようにコマンドを入力します。

注意NetScaler MASのライセンスサーバーポート番号は、デフォルトでは27000です。

4. 構成を実行するNetScaler CPXインスタンスを選択し、[[Next]]をクリックします。

5. 実行設定を指定して[[Finish]]をクリックすると、NetScaler CPXインスタンスでコマンドが実行されます。 構成を保存

Page 10: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.10https://docs.citrix.com

して後で実行する場合は、[[Save and Exit]]をクリックします。

ジョブを使用してジョブを使用してNetScaler CPXのライセンスを削除するにはのライセンスを削除するには

1. 管理者資格情報を使用して、NetScaler MASにログオンします。

2. [[ Infrastructure]]>[[Configuration Jobs]]の順に選択し、[[Create Job]]をクリックします。

3. 必要な値を指定して構成ソースを選択したら、次の図のようにコマンドを入力します。

Page 11: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.11https://docs.citrix.com

4. 構成を実行するNetScaler CPXインスタンスを選択し、[[Next]]をクリックします。

5. 実行設定を指定して[[Finish]]をクリックすると、NetScaler CPXインスタンスでコマンドが実行されます。 構成を保存

して後で実行する場合は、[[Save and Exit]]をクリックします。

Nitro APIを使用した、NetScaler CPXインスタンスのライセンス有効化

NetScaler Nitro APIを使用してNetScaler CPXインスタンスのライセンスを有効化できます。

NetScaler CPXインスタンスにライセンスサーバーを追加するにはインスタンスにライセンスサーバーを追加するには

1. http://<netscaler-ip-address>/nitro/v1/config/nslicenseserverにアクセスします。

2. HTTPメソッドを[[POST]]に設定します。

Page 12: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.12https://docs.citrix.com

3. 次のように要求ヘッダーを追加します。

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Content-Type:applicat ion/json

4. 次のように要求ペイロードを入力します。

{"nslicenseserver":{

"licenseserverip":<String_value>,

"servername":<String_value>,

"port":<Double_value>

}}

5. 次のような応答が返されます。

HTTP Status Code on Success: 201 Created

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). Theresponse payload provides details of the error

NetScaler CPXインスタンスのキャパシティを設定するにはインスタンスのキャパシティを設定するには

1. http://<netscaler-ip-address>/nitro/v1/config/nscapacityにアクセスします。

2. HTTPメソッドを[[PUT]]に設定します。

3. 次のように要求ヘッダーを追加します。

-command コピー

-command コピー

-command コピー

Page 13: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.13https://docs.citrix.com

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Content-Type:applicat ion/json

4. 次のように要求ペイロードを入力します。

{"nscapacity":{

"bandwidth":<Double_value>,

"edit ion":<String_value>,

"unit":<String_value>

}}

5. 次のような応答が返されます。

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). Theresponse payload provides details of the error

NetScaler CPXインスタンスのライセンス有効化について詳しくは、NetScalerアプライアンスのダウンロードセクションか

らダウンロードできる、Nitro APIのドキュメントを参照してください。

-command コピー

Page 14: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.14https://docs.citrix.com

Dockerイメージファイルを使用した、DockerホストでのNetScaler CPXのインストール

Dec 15, 2016

NetScaler CPXは、Dockerイメージファイルの形式で提供されます。 NetScaler CPXイメージをDockerイメージファイルか

らロードし、docker runコマンドまたはDocker Composeツールを使用してNetScaler CPXインスタンスを展開します。

NetScaler CPXインスタンスのインストールを開始する前に、「前提条件」のセクションを確認します。

このドキュメントは、次のセクションで構成されています。

前提条件

Dockerイメージファイルを使用したNetScaler CPXイメージのロード

docker runコマンドを使用したNetScaler CPXインスタンスの展開

Docker Composeを使用したNetScaler CPXインスタンスの展開

前提条件

以下の点について確認してください。

Dockerホストシステムに次のものが含まれていること。

1 CPU

2GBのRAM

Dockerホストシステムで、次のいずれかが実行されていること。

Linux Ubuntuバージョン14.04以降

Mac OS X

Dockerバージョン1.12がLinuxホストシステムにインストールされている。

LinuxでのDockerのインストールについて詳しくは、https://docs.docker.com/engine/installation/ubuntulinux/を参照

してください。

Mac OS XでのDockerのインストールについて詳しくは、https://docs.docker.com/engine/installation/mac/を参照し

てください。

Dockerホストからインターネットに接続できる。

Dockerイメージファイルを使用したNetScaler CPXイメージのロード

NetScaler CPXのDockerイメージファイルをhttp://downloadns.citrix.com.edgesuite.net/12132/cpx-11.1-48.10.gzからダウン

ロードし、NetScaler CPXのDockerイメージをロードします。そのためには、Dockerイメージファイルを保存したディレク

トリに移動して、次のコマンドを実行します。

docker load -i cpx-11.1-48.10.gz

NetScaler CPX Dockerイメージのインストール後に次のコマンドを使用すると、イメージの詳細を表示できます。

-command コピー

Page 15: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.15https://docs.citrix.com

docker images

次に例を示します。

root@ubuntu:~# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

cpx 11.1-48.10 2e97aadf918b 43 hours ago 605.5 MB

この例の出力にある、次のフィールドに注意します。

REPOSITORY: イメージが格納されている名前空間を指定します。

TAG: インストールされているNetScaler CPXイメージのバージョンを示します。

IMAGE ID: Dockerホストに含まれるイメージの一意のIDを示します。

docker runコマンドを使用したNetScaler CPXインスタンスの展開

ホスト上でNetScaler CPXイメージをロードしたら、docker runコマンドを使用してNetScaler CPXインスタンスを展開しま

す。外部通信を可能にするには、HTTPポート80、SSHポート22、およびSNMPポート161を開く必要があります。

docker run -dt -p <port number> --ulimit core=-1 --privileged=true –e <REPOSITORY>:<TAG>

docker run -dt -p 22 -p 80 -p 161/udp --ulimit core=-1 --privileged=true cpx:11.1-48.10

docker psコマンドを使用すると、システムで実行されているイメージと、標準ポートにマップされたポートを表示できます。

-command コピー

例 コピー

-command コピー

例 コピー

Page 16: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.16https://docs.citrix.com

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

6fe01203e7b9 cpx:11.1-48.10 "/bin/sh -c 'bash -C " 7 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:32769->22/tcp, 0.0.0.0:32768->80/tcp, 0.0.0.0:32768->161/udp lonely_knuth

Docker Composeを使用したNetScaler CPXインスタンスの展開

Docker Composeツールを使用して、単一または複数のNetScaler CPXインスタンスをプロビジョニングできます。

Composeを使用してNetScaler CPXインスタンスをプロビジョニングするには、最初にComposeファイルを作成して、

NetScaler CPXイメージ、NetScaler CPXインスタンス用に開くポート、およびNetScaler CPXインスタンスの特権を指定す

る必要があります。

複数の複数のNetScaler CPXインスタンスをプロビジョニングするにはインスタンスをプロビジョニングするには

1. Composeファイルを作成します。 Composeファイルは、一般的に次のような形式に従います。

<service-name>:

image: <repository>:<tag>

ports:

- 22

- 80

- 161/udp

- 36001-36010

tty: true

privileged: true

各オプションの意味は次のとおりです。

<service-name>は、プロビジョニングするサービスの名前です。image:<repository>:<tag>は、NetScaler CPXイメージのリポジトリとバージョンを示します。

privileged: trueは、NetScaler CPXインスタンスのすべてのroot特権を提供します。

例 コピー

-command コピー

Page 17: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.17https://docs.citrix.com

cpxlb:

image: cpx:11.1-48.10

ports:

- 22

- 80

- 161/udp

- 36001-36010

tty: true

privileged: true

注意単一のNetScaler CPXインスタンスをプロビジョニングする場合は、次の行をcomposeファイルに追加する必要があります。

container_name:<name_of_container>

2. 複数のNetScaler CPXインスタンスをプロビジョニングするための、次のコマンドを実行します。

docker-compose -f <compose_file_name> scale <service-name>=<number of instances> up –d

docker-compose -f docker-compose.yml scale cpxlb=3 up –d

注意

サンプル:Composeファイル コピー

-command コピー

例 コピー

Page 18: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.18https://docs.citrix.com

単一のNetScaler CPXインスタンスをプロビジョニングする場合は、次のコマンドを実行します。

docker-compose -f <compose_file_name> up –d

Page 19: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.19https://docs.citrix.com

DockerホストでのNetScaler CPXのインストール

Dec 15, 2016

NetScaler CPXは、DockerイメージファイルおよびDockerfileの形式で提供されます。 NetScaler CPXイメージをDockerイ

メージファイルからロードするか、NetScaler CPXイメージファイルをDockerfileからビルドし、Linux Shell、Docker

Composeツール、またはNetScaler Management and Analytics System(MAS)を使用してNetScaler CPXインスタンスを展

開する必要があります。

NetScaler CPXインスタンスのインストールを開始する前に、「前提条件」のセクションを確認します。

このドキュメントは、次のセクションで構成されています。

前提条件

NetScaler CPXイメージファイルの取得

NetScaler CPXインスタンスの展開

前提条件

以下が割り当てられていることを確認してください。

1 CPU

2GBのRAM

Linux Ubuntuバージョン14.04以降。

DockerがLinuxホストシステムにインストールされている。 Dockerをインストールするには、Linux Shellプロンプトで次

のコマンドを実行します。

curl – ssl https://get.docker.com/ | shLinuxでのDockerのインストールについて詳しくは、次のページを参照してくださ

い。https://docs.docker.com/engine/installation/ubuntulinux/

Dockerホストからインターネットに接続できる。

NetScaler MASを使用してNetScaler CPXをインストールしている場合は、Linux Dockerホストで、DockerのリモートAPI

が有効になっていることを確認します。

DockerのリモートAPIを有効にするには、https://docs.docker.com/engine/articles/configuring/#ubuntuを参照してく

ださい。

たとえば、Ubuntu 14.04では、次の手順でリモートAPIを有効にできます。

1. /etc/default/dockerファイルを編集して、–H tcp://<Host_IP_Address>:<port> -Hunix://var/run/docker.sockをDOCKER_OPTS変数に追加します。

2. 変更を保存して、次のコマンドを実行してDockerを再起動します。

sudo restart docker systemdを実行してDockerホストでリモートAPIを有効にするには、http://www.campalus.com/enable-remote-tcp-

connections-to-docker-host-running-ubuntu-15-04/を参照してください。

DockerホストにホストにNetScaler CPXをインストールするにはをインストールするには

DockerホストにNetScaler CPXをインストールするには、次のタスクを実行します。

タスクタスク 参照先ドキュメント参照先ドキュメント

NetScaler CPXイメージをDockerイメージファイルからロードするか、NetScaler CPXイメージ

Page 20: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.20https://docs.citrix.com

1. NetScaler CPXイ

メージを取得しま

す。

ファイルをDockerfileからビルドする必要があります。

Dockerイメージファイルを使用してNetScaler CPXイメージをロードするには、「Dockerイ

メージファイルを使用したNetScaler CPXイメージのロード」を参照してください。

Dockerfileを使用してNetScaler CPXイメージをビルドするには、「Dockerfileを使用した

NetScaler CPXイメージのビルド」を参照してください。

2. NetScaler CPXイ

ンスタンスを展開し

ます。

NetScaler CPXインスタンスの展開には、Linux Shell、Docker Composeツール、または

NetScaler MASを使用できます。

Linux Shellを使用してNetScaler CPXインスタンスを展開するには、「Linux Shellを使用した

NetScaler CPXインスタンスの展開」を参照してください。

Docker Composeツールを使用してNetScaler CPXインスタンスを展開するには、「Docker

Composeを使用したNetScaler CPXインスタンスの展開」を参照してください。

NetScaler MASを使用してNetScaler CPXインスタンスを展開するには、「NetScaler

Management and Analytics Systemを使用したNetScaler CPXインスタンスの展開」を参照し

てください。

NetScaler CPXイメージファイルの取得

NetScaler CPXイメージをDockerイメージファイルからロードするか、NetScaler CPXイメージファイルをDockerfileからビ

ルドする必要があります。

Dockerイメージファイルを使用したNetScaler CPXイメージのロード

NetScaler CPXのDockerイメージファイルをhttp://downloadns.citrix.com.edgesuite.net/12132/cpx-11.1-48.10.gzからダウン

ロードし、NetScaler CPXのDockerイメージをロードします。そのためには、Dockerイメージファイルを保存したディレク

トリに移動して、次のコマンドを実行します。

docker load -i cpx-11.1-48.10.gz

NetScaler CPX Dockerイメージのインストール後に次のコマンドを使用すると、イメージの詳細を表示できます。

docker images

次に例を示します。

-command コピー

-command コピー

Page 21: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.21https://docs.citrix.com

root@ubuntu:~# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

cpx 11.1-48.10 2e97aadf918b 43 hours ago 605.5 MB

この例の出力にある、次のフィールドに注意します。

REPOSITORY: イメージが格納されている名前空間を指定します。

TAG: インストールされているNetScaler CPXイメージのバージョンを示します。

IMAGE ID: Dockerホストに含まれるイメージの一意のIDを示します。

Dockerfileを使用したNetScaler CPX Imageのビルド

Citrix代理店からNetScaler CPX Dockerfileを入手し、Linux Ubuntuシステムにコピーします。

Dockerfileを使用してを使用してNetScaler CPXイメージをビルドするにはイメージをビルドするには

1. NetScaler CPX Dockerfileの内容を抽出します。 これを行うには、イメージファイルを保存したディレクトリに移動し

て、次のコマンドを実行します。

tar –xvzf <image_file_name>

root@ubuntu:~# cd /var/cpx-build

root@ubuntu:/var/cpx-build# ls

cpx.tar.gz

root@ubuntu:/var/cpx-build# tar –xvzf cpx.tar.gz

2. NetScaler CPX Dockerイメージを作成します。 イメージファイルを抽出したディレクトリに移動して、次のコマンドを実

行します。

例 コピー

-command コピー

例 コピー

Page 22: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.22https://docs.citrix.com

make

root@ubuntu:/var/cpx-build# cd cpx

root@ubuntu:/var/cpx-build/cpx# ls

Dockerfile Makefile netscaler.tar.gz

root@ubuntu:/var/cpx-build/cpx# make

3. NetScaler CPX Dockerイメージの作成後に次のコマンドを実行すると、イメージ詳細を表示できます。

docker images

root@ubuntu:~# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

cpx 11.1-48.10 2e97aadf918b 43 hours ago 605.5 MB

この例の出力にある、次のフィールドに注意します。

REPOSITORY: イメージが格納されている名前空間を指定します。

TAG: インストールされているNetScaler CPXイメージのバージョンを示します。

IMAGE ID: Dockerホストに含まれるイメージの一意のIDを示します。

NetScaler CPXインスタンスの展開

NetScaler CPXイメージを入手したら、Linux Shell、Docker Composeツール、またはNetScaler Management and Analytics

-command コピー

例 コピー

-command コピー

例 コピー

Page 23: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.23https://docs.citrix.com

System(MAS)を使用して、NetScaler CPXインスタンスを展開できます。

Linux Shellを使用したNetScaler CPXインスタンスの展開

Linux Shellを使用して、NetScaler CPXイメージを保存したディレクトリに移動し、次に、docker runコマンドを使用して

NetScaler CPXインスタンスを展開します。外部通信を可能にするには、HTTPポート80、SSHポート22、およびSNMPポー

ト161を開く必要があります。

docker run -dt -p <port number> --ulimit core=-1 --privileged=true –e <REPOSITORY>:<TAG>

docker run -dt -p 22 -p 80 -p 161/udp --ulimit core=-1 --privileged=true -e EULA=yes cpx:11.1-48.10

docker psコマンドを使用すると、システムで実行されているイメージと、標準ポートにマップされたポートを表示できます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

6fe01203e7b9 cpx:11.1-48.10 "/bin/sh -c 'bash -C " 7 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:32769->22/tcp, 0.0.0.0:32768->80/tcp, 0.0.0.0:32768->161/udp lonely_knuth

Docker Composeを使用したNetScaler CPXインスタンスの展開

Docker Composeツールを使用して、単一または複数のNetScaler CPXインスタンスをプロビジョニングできます。

Composeを使用してNetScaler CPXインスタンスをプロビジョニングするには、最初にComposeファイルを作成して、

NetScaler CPXイメージ、NetScaler CPXインスタンス用に開くポート、およびNetScaler CPXインスタンスの特権を指定す

る必要があります。

複数の複数のNetScaler CPXインスタンスをプロビジョニングするにはインスタンスをプロビジョニングするには

1. Composeファイルを作成します。 Composeファイルは、一般的に次のような形式に従います。

-command コピー

例 コピー

例 コピー

Composeファイル コピー

Page 24: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.24https://docs.citrix.com

<service-name>:

image: <repository>:<tag>

ports:

- 22

- 80

- 161/udp

- 36001-36010

tty: true

privileged: true

各オプションの意味は次のとおりです。

<service-name>は、プロビジョニングするサービスの名前です。image:<repository>:<tag>は、NetScaler CPXイメージのリポジトリとバージョンを示します。

privileged: trueは、NetScaler CPXインスタンスのすべてのroot特権を提供します。

サンプル:Composeファイル コピー

Page 25: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.25https://docs.citrix.com

cpxlb:

image: cpx:11.1-48.10

ports:

- 22

- 80

- 161/udp

- 36001-36010

tty: true

privileged: true

注意単一のNetScaler CPXインスタンスをプロビジョニングする場合は、次の行をComposeファイルに追加する必要があります。

container_name:<name_of_container>

2. 複数のNetScaler CPXインスタンスをプロビジョニングするための、次のコマンドを実行します。

docker-compose -f <compose_file_name> scale <service-name>=<number of instances> up –d

-command コピー

例 コピー

Page 26: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.26https://docs.citrix.com

docker-compose -f docker-compose.yml scale cpxlb=3 up –d

注意単一のNetScaler CPXインスタンスをプロビジョニングする場合は、次のコマンドを実行します。

docker-compose -f <compose_file_name> up –d

NetScaler Management and Analytics Systemを使用したNetScaler CPXインスタンスのインストール

NetScaler CPXのインストールを開始する前に、NetScaler MASサーバーをCitrix XenServerにインストールする必要がありま

す。 NetScaler MASのイメージファイルをローカルシステムにダウンロードして、インストールを開始します。

NetScaler Management and Analytics Systemのインストール

1. イメージファイルをXenServerにインポートし、[Console]タブから、次の図に示すように初期ネットワーク構成オプ

ションを構成します。

2. 必要なIPアドレスを指定したら、展開の種類としてNetScaler MASサーバーを選択します。 オプションを選択しないと、

デフォルトで、サーバーとして展開されます。

Page 27: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.27https://docs.citrix.com

サーバーインストールの完了後に、ブラウザーのアドレスバーにNetScaler MASサーバーのIPアドレスを入力すると、グラ

フィカルユーザーインターフェイス(GUI)にアクセスできます。 サーバーにログオンするためのデフォルトの管理者資格

情報はnsroot/nsrootです。

NetScaler CPXインスタンスのインストール

NetScaler CPXイメージファイルをシステムにダウンロードしたことを確認します。 NetScaler CPXインスタンスをプロビ

ジョニングするときに、このファイルはNetScaler MASサーバーにアップロードされます。 また、このイメージファイルを

NetScaler MASサーバーの/var/mps/docker_nscpx_imagesディレクトリに手動でアップロードすることもできます。

Page 28: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.28https://docs.citrix.com

NetScaler MASを使用してを使用してDockerホストにホストにNetScaler CPXインスタンスをインストールするにはインスタンスをインストールするには

1. 管理者資格情報を使用して、NetScaler MASサーバーGUIにログオンします。 デフォルトの管理者資格情報は、

nsroot/nsrootです。

2. [[ Infrastructure]]>[[ Instances]]>[[NetScaler CPX]]の順に選択し、次に[[Add Docker Host]]をクリックします。

3. [[Add Docker Host]]ページで、Linux DockerホストのIPアドレス、Dockerホストのルートユーザー資格情報、およびリ

モートAPIポート(4243)を指定して、[[Continue]]をクリックします。

4. [[Add NetScaler CPX]]でイメージファイルを参照して選択します。 次に、外部通信を可能にするために公開されている

ポート範囲の開始ポート番号を指定します。 最後に、このインスタンスに割り当てるポート数を指定します。 これらのポー

トは、標準ポート80、22、および161に追加されます。

次の図は、Dockerホストでプロビジョニングされている、NetScaler CPXインスタンスの詳細を示しています。 この図に含

Page 29: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.29https://docs.citrix.com

まれるIPアドレスは、Dockerエンジンによって各インスタンスに明示的に割り当てられた単一のIPアドレスです。 このほか

に、各インスタンスに割り当てられたポート範囲と、NetScaler CPXインスタンスのSSH(22)、HTTP(80)、および

SNMP(161)の各ポートにマップされたポートも表示されています。

Page 30: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.30https://docs.citrix.com

NetScaler CPXの構成

Dec 15, 2016

NetScaler CPXインスタンスを構成するには、Linux DockerホストからCLIプロンプトにアクセスするか、NetScaler Nitro

APIを使用できます。

このドキュメントは、次のセクションで構成されています。

コマンドラインインターフェイスを使用したNetScaler CPXインスタンスの構成

Nitro APIを使用したNetScaler CPXインスタンスの構成

ジョブを使用したNetScaler CPXインスタンスの構成

NetScaler CPXインスタンスのログストリーム配信の構成

コマンドラインインターフェイスを使用したNetScaler CPXインスタンスの構成

Dockerホストにアクセスし、次の図に示すように、インスタンスのSSHプロンプトにログオンします。 NetScaler CPXイン

スタンスへのログオンに使用する、デフォルトの管理者資格情報はroot/linuxです。

次のコマンドを入力して、インスタンスのコマンドラインプロンプトでCLIコマンドを実行します。cli_script .sh "

<command>"

例例:

インスタンスのプロンプトからログアウトするには、「log out」と入力します。

Nitro APIを使用したNetScaler CPXインスタンスの構成

NetScaler Nitro APIを使用してNetScaler CPXインスタンスを構成できます。

Nitro APIを使用してを使用してNetScaler CPXインスタンスを構成するには(インスタンスを構成するには(Webブラウザーで次のように入力)ブラウザーで次のように入力)

Page 31: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.31https://docs.citrix.com

#http://<host_IP_address>:<port>/nitro/v1/config/<resource-type>

Nitro APIを使用して統計情報を取得するには(を使用して統計情報を取得するには(Webブラウザーで次のように入力)ブラウザーで次のように入力)

#http://<host_IP_address>:<port>/nitro/v1/stat/<resource-type>

Nitro APIの使用について詳しくは、「REST Webサービス(REST Web Services)」を参照してください。 NetScaler CPXの

場合は、「netscaler-ip-address」の記述があるところでは<CPX IP address:port>を使用します。

ジョブを使用したNetScaler CPXインスタンスの構成

NetScaler MASで作成したジョブを実行して、NetScaler CPXインスタンスを構成できます。 構成テンプレートの構成を使

用する、ほかのデバイスで利用可能な構成を抽出する、テキストファイルに保存された構成を使用するなどの方法がありま

す。 また、別のインスタンスで構成ユーティリティを使用して行われた構成を記録することもできます。 ジョブの実行後、

NetScaler MASには、NetScaler CPXインスタンスで使用する対応するCLIコマンドが表示されます。 構成を選択したら、そ

の構成をロードし、変数値を指定してジョブを実行するNetScaler CPXインスタンスを選択する必要があります。

ジョブを使用してジョブを使用してNetScaler CPXインスタンスを構成するにはインスタンスを構成するには

1. 管理者資格情報を使用して、NetScaler MASにログオンします。

2. [[ Infrastructure]]>[[Configuration Jobs]]の順に選択し、[[Create Job]]をクリックします。

3. 必要な値を指定して、構成ソースを選択します。 実行するコマンドを入力することもできます。

4. 構成を実行するNetScaler CPXインスタンスを選択し、[[Next]]をクリックします。

Page 32: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.32https://docs.citrix.com

5. 実行設定を指定して[Finish]をクリックすると、NetScaler CPXインスタンスでコマンドが実行されます。 構成を保存し

て後で実行する場合は、[[Save and Exit]]をクリックします。

NetScaler CPXインスタンスのログストリーム配信の構成

Page 33: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.33https://docs.citrix.com

NetScaler CPXインスタンスのログストリーム配信を構成して、アプリケーションパフォーマンスの監視と分析に必要な、

Webページのパフォーマンスデータ、フローとユーザーセッションレベルの情報、およびデータベース情報を収集できま

す。 これらのデータレコードはNetScaler MASに送信され、ここから全アプリケーションのリアルタイムレポートと履歴レ

ポートを表示できます。

NetScaler CPXインスタンスでログストリーム配信を構成するには、最初に、NetScaler CPXインスタンスでAppFlow機能と

ulfdデーモンを有効にする必要があります。 ulfdデーモンを有効にするときに、リアルタイムレポートと履歴レポートを監

視するNetScaler MASのIPアドレスを指定する必要があります。 次に、AppFlowコレクター、アクション、およびポリシー

を構成し、AppFlowポリシーをグローバルにバインドする必要があります。

ulfdデーモンからNetScaler MASに送信されるフローレコードは、すべて単一のログ形式に統一されています。

ログストリーム配信の構成には、NetScaler CPXインスタンスのコマンドラインインターフェイスまたはNetScaler MASの

ジョブ機能のいずれかを使用できます。

レコードを監視できるようにするには、NetScaler CPXインスタンスをNetScaler MASに追加する必要があります。

NetScaler CPXインスタンスのNetScaler MASへの追加について詳しくは、「NetScaler Management and Analytics System

を使用したNetScaler CPXインスタンスのインストール」を参照してください。

NetScaler CPXインスタンスのログストリーム配信を構成するにはインスタンスのログストリーム配信を構成するには

1. 次のコマンドを実行して、AppFlow機能を有効にします。

enable ns feature AppFlow

2. 次のコマンドを実行して、ulfdデーモンを有効にします。

set ns param -ulfd ENABLED -loggerip <NUMS_IP_Address>

3. 次のコマンドを実行して、AppFlowコレクター、アクション、およびポリシーを構成し、そのポリシーをグローバルにバ

インドします。

Code コピー

-command コピー

-command コピー

Page 34: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.34https://docs.citrix.com

add appflow collector <name> -IPAddress <ipaddress>

set appflow param -templateRefresh 3600 -httpUrl ENABLED -httpCookie ENABLED -httpReferer ENABLED -httpMethod ENABLED -httpHost ENABLED -httpUserAgent ENABLED -httpContentType ENABLED -httpAuthorizat ion ENABLED -httpVia ENABLED -httpXForwardedFor ENABLED -httpLocation ENABLED -httpSetCookie ENABLED -httpSetCookie2 ENABLED -connectionChaining ENABLED -httpDomain Enabled

add appflow action <name> --collectors <string> ... [-clientSideMeasurements (Enabled|Disabled) ]

add appflow policy <name> true <action>

bind appflow global <policyName> <priority> [<gotoPriorityExpression [-type <type>]

注意ダミーのIPアドレスを使用してAppFlowコレクターを構成する必要があります。

Page 35: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.35https://docs.citrix.com

NetScaler CPXインスタンスのアップグレードまたはダウングレード

Dec 15, 2016

NetScaler CPXイメージファイルには、スクリプトファイルcpxupgradeが付属しています。このスクリプトファイルを使用すると、NetScalerインスタンスを新しいバージョンにアップグレードしたり、以前のバージョンにダウングレードしたりで

きます。 「DockerホストでのNetScaler CPXのインストール」で説明した方法で、REPOSITORY:TAGを使用してNetScaler

CPXインスタンスを展開した場合は、このスクリプトによってNetScaler CPXインスタンスの現在のバージョンが自動的に識

別され、NetScaler CPXイメージファイルのバージョンにアップグレードするかダウングレードするかが決定されます。

アップグレードまたはダウングレードのプロセスでは、NetScalerインスタンスがアップグレードまたはダウングレードされ

るときに、次のものがスクリプトによってバックアップおよびリストアされます。

ログ

コア

デバイス証明書

Ulimitパラメーター

異なるポートのマッピング

注注:NetScaler CPXインスタンスのプロビジョニング中に、

ホストポートを指定した場合は、アップグレード後にそのポートが保持されます。

ホストポートがDockerコンテナーによって定義されていた場合は、アップグレード後に、ホストポートは改めてラン

ダムに生成され、Dockerコンテナーによって割り当てられます。

マウントポイント(ある場合)

環境変数(ある場合)

NetScaler構成(以前のバージョンを含む)

ネットワークモード(ブリッジ/なし/ホスト)

前提条件

Citrix代理店からNetScaler CPX 11.1イメージファイルを入手し、Linux Ubuntuシステムにコピーしたことを確認します。

NetScalerインスタンスをアップグレードまたはダウングレードするにはインスタンスをアップグレードまたはダウングレードするには

1. 次のコマンドを実行して、既存のNetScaler CPX Dockerイメージの詳細を表示します。

docker images

-command コピー

例 コピー

Page 36: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.36https://docs.citrix.com

REPOSITORY TAG IMAGE ID CREATED SIZE

cpx 11.1.44.4 51909962a1 30 hours ago 577.9 MB

この例の出力にある、次のフィールドに注意します。

- REPOSITORY: イメージが格納されている名前空間を指定します。

- TAG: インストールされているNetScaler CPXイメージのバージョンを示します。

- IMAGE ID: Dockerホストに含まれるイメージの一意のIDを示します。

2. NetScaler CPXイメージファイルの内容を抽出します。 これを行うには、イメージファイルを保存したディレクトリに移

動して、次のコマンドを実行します。

tar –xvzf <image_file_name>

3. イメージファイルを抽出したディレクトリに移動して、次のコマンドを実行します。

./cpxupgrade <CPX_instance> <REPOSITORY>:<TAG>

-command コピー

-command コピー

例 コピー

Page 37: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.37https://docs.citrix.com

root@ubuntu:/var/cpx-build/cpx# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

cpx 11.1.44.4 255190996 30 hours ago 577.9 MB

root@ubuntu:/var/cpx-build/cpx # docker ps | grep testcpx fb8c68d96fae cpx:11.1.40.1 "/bin/sh -c 'bash -C " About a minute ago Up About a minute 80/tcp, 0.0.0.0:3322->22/tcp, 0.0.0.0:3161->161/udp, 0.0.0.0:3443->443/tcp testcpx

root@ubuntu:/var/cpx-build/cpx#./cpxupgrade testcpx cpx:11.1.44.4 Upgrading testcpx to cpx:11.1.44.4 Current cpx version is 11.1.40.1 Upgrade is needed from cpx:11.1.40.1 to cpx:11.1.44.4

………………………..

………………………….

###################### Report ################################

CPX[testcpx]is upgraded and ready for use. CPX new id is fb8c68d96fae39670a10ccb7b28d19b481e60468d5ff10d01cbe189110bb6573

For most cases, new CPX id can be referred by fb8c68d96fae

###############################################################

Page 38: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.38https://docs.citrix.com

NetScaler CPXインスタンスでのワイルドカード仮想サーバーの使用

Dec 15, 2016

NetScalerインスタンスのプロビジョニング時に、Dockerエンジンによって、1つのプライベートIPアドレス(単一IPアドレ

ス)のみがNetScaler CPXインスタンスに割り当てられます。 NetScalerインスタンスの3つのIP機能が1つのIPアドレス上で

多重化されます。 この単一IPアドレスは、異なるポート番号を使用して、NSIP、SNIP、およびVIPとして機能します。

Dockerエンジンによって割り当てられる単一IPアドレスは動的で、この単一IPアドレスまたは127.0.0.1 IPアドレスを使用し

て負荷分散(LB)またはコンテンツスイッチ(CS)の仮想サーバーを追加できます。 127.0.0.1を使用して作成される仮想

サーバーは、ワイルドカード仮想サーバーと呼ばれます。 デフォルトでは、ワイルドカード仮想サーバーの作成時に、ワイ

ルドカード仮想サーバーに割り当てられたIPアドレス127.0.0.1が、DockerエンジンによってNetScaler CPXインスタンスに

割り当てられたNSIPに置き換えられます。

高可用性のNetScaler CPX展開では、NetScaler CPXインスタンスの1つにワイルドカード仮想サーバーを追加し、そのイン

スタンスのns.confファイルを、展開の別のNetScaler CPXインスタンスにコピーできます。これにより、展開内のすべての

NetScaler CPXインスタンスで同じNetScaler構成が使用されるので、DockerエンジンがNetScalerインスタンスに割り当て

た単一IPアドレスを識別し、その単一IPアドレスに基づいて、展開内のすべてのNetScaler CPXインスタンスにLBまたはCS

の仮想サーバーを作成する必要がなくなります。

注意事項注意事項

ワイルドカード仮想サーバーに割り当てるポート番号が、展開内の他の仮想サーバーで使用されていないことを確認しま

す。

*(アスタリスク)文字は、ワイルドカード仮想サーバーではサポートされません。

負荷分散のワイルドカード仮想サーバーを作成するには、コマンドプロンプトで次のコマンドを入力します。

add lb vserver <name> <serviceType> 127.0.0.1 <port>

add lb vserver test lbvserver HTTP 127.0.0.1 30000

コンテンツスイッチのワイルドカード仮想サーバーを作成するには、コマンドプロンプトで次のコマンドを入力します。

-command コピー

例 コピー

-command コピー

Page 39: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.39https://docs.citrix.com

add cs vserver <name> <serviceType> 127.0.0.1 <port>

add cs vserver testcsvserver HTTP 127.0.0.1 30000

例 コピー

Page 40: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.40https://docs.citrix.com

East-Westトラフィックフローを可能にするためのNetScaler CPXのプロキシとしての展開

Dec 15, 2016

この展開では、NetScaler CPXインスタンスは、複数のホスト上にあるアプリケーションコンテナー間の通信を可能にする

ためのプロキシとして機能します。 マルチホストでアプリケーションと一緒にプロビジョニングされたNetScaler CPXイン

スタンスが、通信の最短パスを提供します。

次の図は、NetScaler CPXインスタンスを介した2つのアプリケーション間のトラフィックフローを示します。

この図は、アプリケーションCとアプリケーションB間のトラフィックフローと、アプリケーションAとアプリケーションB間

のトラフィックフローを示しています。 いずれかのホスト上のアプリケーションCがBに要求を送信した場合、アプリケー

ションCと同じホスト上にあるNetScaler CPXコンテナーが、この要求を最初に受信します。 次に、NetScaler CPXコンテ

ナーは、アプリケーションBと同じホスト上のNetScaler CPXコンテナーにトラフィックを渡し、そのトラフィックがアプリ

ケーションBに転送されます。 アプリケーションAがアプリケーションBに要求を送信する場合も、同様のパスになります。

この例では、グローバルVIPを介したインターネットからアプリケーションへのトラフィックを許可するため、NetScaler

Page 41: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.41https://docs.citrix.com

MPXも展開されています。 NetScaler MPXからのトラフィックをNetScaler CPXコンテナーが受信し、そこからアプリケー

ションコンテナーにトラフィックが分散されます。

次の図は、このトポロジと、通信を可能にするために設定が必要な構成を示しています。

次の表は、この構成例のNetScaler CPXインスタンスに構成されている、IPアドレスとポートの一覧です。

Page 42: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.42https://docs.citrix.com

このシナリオ例を構成するには、3つのDockerホストすべてでNetScaler CPXコンテナーを作成する間に、Linux Shellプロン

プトで次のコマンドを実行します。

docker run -dt -p 22 -p 80 -p 161/udp -p 30000-30002: 30000-30002 --ulimit core=-1 --privileged=truecpx:6.2

NetScaler MASのジョブ機能を使用するか、Nitro APIを使用して、次のコマンドを実行します。

Dockerホスト1のNetScaler CPXインスタンスで実行:

構成例:すべてのDockerホストで実行 コピー

構成例:Dockerホスト1で実行 コピー

Page 43: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.43https://docs.citrix.com

add lb vserver VIP-A1 HTTP 172.17.0.2 30000

add service svc-A1 10.102.29.100 HTTP 80

bind lb vserver VIP-A1 svc-A1

add lb vserver VIP-B1 HTTP 172.17.0.2 30001

add service svc-B1 10.102.29.100 HTTP 90

bind lb vserver VIP-B1 svc-B1

add lb vserver VIP-C1 HTTP 172.17.0.2 30002

add service svc-VIP-C2 10.102.29.105 HTTP 30002

add service svc-VIP-C3 10.102.29.110 HTTP 30002

bind lb vserver VIP-C1 svc-VIP-C2

bind lb vserver VIP-C1 svc-VIP-C3

Dockerホスト2のNetScaler CPXインスタンスで実行:

構成例:Dockerホスト2で実行 コピー

Page 44: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.44https://docs.citrix.com

add lb vserver VIP-A2 HTTP 172.17.0.3 30000

add service svc-A2 10.102.29.105 HTTP 80

bind lb vserver VIP-A2 svc-A2

add lb vserver VIP-B2 HTTP 172.17.0.3 30001

add service svc-VIP-B1 10.102.29.100 HTTP 30001

bind lb vserver VIP-B2 svc-VIP-B1

add lb vserver VIP-C2 HTTP 172.17.0.3 30002

add service svc-C2 10.102.29.105 HTTP 70

bind lb vserver VIP-C2 svc-C2

Dockerホスト3のNetScaler CPXインスタンスで実行:

構成例:Dockerホスト3で実行 コピー

Page 45: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.45https://docs.citrix.com

add lb vserver VIP-A3 HTTP 172.17.0.4 30000

add service svc-VIP-A1 10.102.29.100 HTTP 30000

add service svc-VIP-A2 10.102.29.105 HTTP 30000

bind lb vserver VIP-A3 svc-VIP-A1

bind lb vserver VIP-A3 svc-VIP-A2

add lb vserver VIP-B3 HTTP 172.17.0.4 30001

add service svc-VIP-B1 10.102.29.100 HTTP 30001

bind lb vserver VIP-B3 svc-VIP-B1

add lb vserver VIP-C3 HTTP 172.17.0.4 30002

add service svc-C3 10.102.29.110 HTTP 70

bind lb vserver VIP-C3 svc-C3

Page 46: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.46https://docs.citrix.com

単一ホストネットワークでのNetScaler CPXの展開

Dec 15, 2016

単一ホストネットワークでは、NetScaler CPXインスタンスは、同一ホストにある複数のアプリケーションコンテナー間の

プロキシとして機能します。 NetScaler CPXインスタンスのこの機能により、コンテナーベースのアプリケーションのス

ケーラビリティとセキュリティが強化されます。 このほかにも、パフォーマンスの最適化や、利用統計情報の理解を深める

ためにも役立ちます。

単一ホストネットワークでは、クライアント、サーバー、およびNetScaler CPXインスタンスが、同じDockerホストのコン

テナーとして展開されます。 コンテナーはすべてdocker0ブリッジで接続されます。

この環境で、NetScaler CPXインスタンスは、同一のDockerホストでコンテナーとしてプロビジョニングされているアプリ

ケーションのプロキシとして機能します。

次の図は、単一ホストトポロジを示しています。

この例では、Webアプリケーションコンテナー(172.17.0.2)がクライアントで、DB1(172.17.0.10)とDB2(172.17.0.11)

の2つのデータベースコンテナーがサーバーです。 プロキシとして機能するNetScaler CPXコンテナー(172.17.0.4)が、ク

ライアントとサーバーの間に配置されています。

WebアプリケーションがNetScaler CPXを介してデータベースコンテナーと通信できるようにするには、最初に、NetScaler

CPXコンテナーで、2台のサーバーを表す2つのサービスを構成する必要があります。 次に、NetScaler CPXのIPアドレスと

標準以外のHTTPポート(81など)を使用して仮想サーバーを構成します。標準以外のポートを使用するのは、NetScaler

CPXで、標準HTTPポート80がNitroとの通信用に予約されているためです。

Page 47: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.47https://docs.citrix.com

このトポロジでは、クライアントとサーバーが同じネットワークにあるため、NAT規則を構成する必要はありません。

このシナリオを構成するには、NetScaler MASのジョブ機能を使用するか、Nitro APIを使用して、次のコマンドを実行しま

す。

add service db1 HTTP 172.17.0.10 80

add service db2 HTTP 172.17.0.11 80

add lb vserver cpx-vip HTTP 172.17.0.4 81

bind lb vserver cpx-vip db1

bind lb vserver cpx-vip db2

サンプルコマンド:単一ホストトポロジ コピー

Page 48: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.48https://docs.citrix.com

マルチホストネットワークでのNetScaler CPXの展開

Dec 15, 2016

データセンター内の実稼働環境では、マルチホストネットワークに展開したNetScaler CPXインスタンスを構成して、負荷

分散機能を使用できます。 さらに、機能や分析データを監視することもできます。

マルチホストネットワークでは、NetScaler CPXインスタンス、バックエンドサーバー、およびクライアントは、別々のホ

ストに展開されます。 マルチホストのトポロジを実稼働環境で使用することで、NetScaler CPXインスタンスが一連のコン

テナーベースのアプリケーション、サーバー、さらには物理サーバーの負荷を分散します。

ここでは、次の3つのマルチホストトポロジについて説明します。

トポロジ1:NetScaler CPXとサーバーが同一ホスト、クライアントが別のネットワークにある場合

トポロジ2:NetScaler CPXと物理サーバー/クライアントが別々に配置されている場合

トポロジ3:NetScaler CPXとサーバーが別々のホストでプロビジョニングされている場合

トポロジ1:NetScaler CPXとバックエンドサーバーが同一ホスト、クライアントが別のネットワークにある場合

このトポロジでは、NetScaler CPXインスタンスとデータベースサーバーは同じDockerホストでプロビジョニングされます

が、クライアントトラフィックはネットワークの別の場所から発信されます。 このトポロジを実稼働環境で使用して、

NetScaler CPXインスタンスが一連のコンテナーベースのアプリケーションやサーバーの負荷を分散するようにできます。

次の図は、このトポロジを示しています。

Page 49: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.49https://docs.citrix.com

この例では、NetScaler CPXインスタンス(172.17.0.4)と2台のサーバー(DB1(172.17.0.10)およびDB2(172.17.0.11))

は、IPアドレス10.102.29.100の同じDockerホストでプロビジョニングされています。 クライアントは、ネットワークの他の

場所にあります。

インターネットからのクライアント要求は、NetScaler CPXインスタンスに構成されているVIPで受信されます。そこから、

要求が2台のサーバーに分散されます。

このトポロジを構成するには、次の2つの方法があります。

追加IPアドレスとVIPの標準ポートの使用

1. NetScaler CPX IPアドレスの代わりに追加のIPアドレスを使用して、VIPをNetScaler CPXコンテナーに構成します。 これ

により、クライアント要求の受信に、コンテナーの標準ポート80を使用できるようになります。

2. Dockerホストに追加のIPアドレスを構成します。

3. Dockerホストの追加IPアドレスで受信したすべてのトラフィックをVIPの追加IPアドレスに転送する、NAT規則を構成し

ます。

4. 2台のサーバーをNetScaler CPXインスタンスのサービスとして構成します。

5. 最後に、これらのサービスをVIPにバインドします。

この構成例では、10.x.x.xネットワークはパブリックネットワークを表していることに注意してください。

Page 50: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.50https://docs.citrix.com

このシナリオ例を構成するには、NetScaler MASのジョブ機能かNitro APIを使用して、次のコマンドを実行します。

add service s1 172.17.0.10 HTTP 80

add service s2 172.17.0.11 HTTP 80

add lb vserver cpx-vip HTTP 172.17.4.100 80

bind lb vserver cpx-vip s1

bind lb vserver cpx-vip s2

Linux Shellプロンプトで次のコマンドを実行して、Dockerホストの追加のパブリックIPアドレスとNAT規則を構成します。

ip addr add 10.102.29.103/24 dev eth0

iptables -t nat -A PREROUTING -p ip -d 10.102.29.103 -j DNAT --to-destination 172.17.4.100

VIP用のNetScaler CPX IPアドレスの使用とポートマッピングの構成

1. VIPと2つのサービスをNetScaler CPXインスタンスに構成します。 このVIPでは、標準以外のポート(81)を使用しま

す。

2. サービスをVIPにバインドします。

3. Dockerホストのポート50000で受信したすべてのトラフィックを、VIPとポート81に転送するNAT規則を構成します。

このシナリオ例を構成するには、3つのDockerホストすべてでNetScaler CPXコンテナーを作成する間に、Linux Shellプロン

プトで次のコマンドを実行します。

docker run -dt -p 22 -p 80 -p 161/udp -p 50000:81 --ulimit core=-1 --privileged=true cpx:6.2

NetScaler CPXインスタンスがプロビジョニングされたら、NetScaler MASのジョブ機能かNitro APIを使用して、次のコマン

構成例:追加IPアドレスとVIPの標準ポートの使用 コピー

構成例:追加IPアドレスとVIPの標準ポートの使用 コピー

構成例:NetScaler CPX IPアドレスとポートマッピングの使用 コピー

Page 51: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.51https://docs.citrix.com

ドを実行します。

add service s1 172.17.0.10 http 80

add service s2 172.17.0.11 http 80

add lb vserver cpx-vip HTTP 172.17.0.4 81

bind lb vserver cpx-vip s1

bind lb vserver cpx-vip s2

注意NetScaler CPXインスタンスのプロビジョニング中にポートマッピングを構成しなかった場合は、Linux Shellプロンプトで次のコマ

ンドを実行してNAT規則を構成します。

iptables -t nat -A PREROUTING -p tcp -m addrtype --dst-type LOCAL -m tcp --dport 50000 -j DNAT --to-destination

172.17.0.4:81

トポロジ2:NetScaler CPXと物理サーバー/クライアントが別々に配置されている場合

このトポロジでは、NetScaler CPXインスタンスのみがDockerホストでプロビジョニングされます。 クライアントとサー

バーはコンテナーベースではなく、ネットワークの別の場所にあります。

この環境では、物理サーバーのトラフィックを負荷分散するように、NetScaler CPXインスタンスを構成できます。

次の図は、このトポロジを示しています。

構成例:NetScaler CPX IPアドレスとポートマッピングの使用 コピー

Page 52: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.52https://docs.citrix.com

この例では、プロキシとして機能するNetScaler CPXコンテナー(172.17.0.4)が、クライアントと物理サーバーの間に配置

されます。 DB1(10.102.29.105)とDB2(10.102.29.110)の2台のサーバーは、ネットワーク上のDockerホスト以外の場所

にあります。 インターネットからのクライアント要求は、NetScaler CPXインスタンスで受信されます。そこから、要求が2

台のサーバーに分散されます。

NetScaler CPXを介したこのクライアントとサーバー間の通信を可能にするには、最初に、NetScaler CPXコンテナーの作成

中にポートマッピングを構成する必要があります。 次に、NetScaler CPXコンテナーに、2台のサーバーを表す2つのサービ

スを構成します。 最後に、NetScaler CPX IPアドレスと、マッピングされた非標準HTTPポート8080を使用して、仮想サー

バーを構成します。

この構成例では、10.x.x.xネットワークはパブリックネットワークを表していることに注意してください。

このシナリオ例を構成するには、NetScaler CPXコンテナーを作成する間に、Linux Shellプロンプトで次のコマンドを実行し

ます。

構成例 コピー

Page 53: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.53https://docs.citrix.com

docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2

次に、NetScaler MASのジョブ機能を使用するか、Nitro APIを使用して、次のコマンドを実行します。

add service s1 HTTP 10.102.29.105 80

add service s2 HTTP 10.102.29.110 80

add lb vserver cpx-vip HTTP 172.17.0.4 8080

bind lb vserver cpx-vip s1

bind lb vserver cpx-vip s2

トポロジ3:NetScaler CPXとサーバーが別々のホストでプロビジョニングされている場合

このトポロジでは、NetScaler CPXインスタンスとデータベースサーバーは別々のDockerホストでプロビジョニングされ、

クライアントトラフィックはインターネットから発信されます。 このトポロジを実稼働環境で使用して、NetScaler CPXイ

ンスタンスが一連のコンテナーベースのアプリケーションやサーバーの負荷を分散するようにできます。

次の図は、このトポロジを示しています。

構成例 コピー

Page 54: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.54https://docs.citrix.com

この例で、NetScaler CPXインスタンスと1台のサーバー(DB1)は、IPアドレス10.102.29.100の同じDockerホストでプロビ

ジョニングされています。 その他4台のサーバー(DB2、DB3、DB4、およびDB5)は、2つの異なるDockerホスト

(10.102.29.105および10.102.29.110)でプロビジョニングされています。

インターネットからのクライアント要求はNetScaler CPXインスタンスで受信され、そこから、要求が5台のサーバーに分散

されます。 この通信を有効にするには、次のように構成する必要があります。

1. NetScaler CPXコンテナーの作成中にポートマッピングを設定します。 この例では、トラフィックをコンテナーのポート

8080からホストのポート8080に転送する必要があります。 クライアント要求がホストのポート8080に到達すると、CPX

コンテナーのポート8080にマッピングされます。

2. 5台のサーバーをNetScaler CPXインスタンスのサービスとして構成します。 これらのサービスを設定するには、該当す

るDockerホストのIPアドレスとマッピングされたポートの組み合わせを使用する必要があります。

3. クライアント要求を受け取るNetScaler CPXインスタンスのVIPを構成します。 このVIPは、NetScaler CPXのIPアドレス

と、ホストのポート8080にマッピングされたポート8080で表します。

4. 最後に、これらのサービスをVIPにバインドします。

この構成例では、10.x.x.xネットワークはパブリックネットワークを表していることに注意してください。

このシナリオ例を構成するには、NetScaler CPXコンテナーを作成する間に、Linux Shellプロンプトで次のコマンドを実行し

ます。

Page 55: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.55https://docs.citrix.com

docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2

NetScaler MASのジョブ機能を使用するか、Nitro APIを使用して、次のコマンドを実行します。

add service s1 10.102.29.100 HTTP 8081

add service s2 10.102.29.105 HTTP 8081

add service s3 10.102.29.105 HTTP 8082

add service s4 10.102.29.110 HTTP 8081

add service s5 10.102.29.110 HTTP 8082

add lb vserver cpx-vip HTTP 172.17.0.2 8080

bind lb vserver cpx-vip s1

bind lb vserver cpx-vip s2

bind lb vserver cpx-vip s3

bind lb vserver cpx-vip s4

bind lb vserver cpx-vip s5

構成例 コピー

構成例 コピー

Page 56: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.56https://docs.citrix.com

ネットワークへの直接アクセスが有効なNetScaler CPXの展開

Dec 15, 2016

ネットワークに直接アクセスできるように、NetScaler CPXインスタンスを構成できます。 このシナリオでは、受信トラ

フィックはNetScaler CPX VIPで直接受信されます。

この通信を有効にするには、まず、docker0ブリッジにパブリックIPアドレスを構成する必要があります。 次に、ネット

ワークポートeth0からパブリックIPアドレスを削除し、ネットワークポートをdocker0ブリッジにバインドします。

2つのサービスを追加して負荷分散を構成し、次にネットワークパブリックIPアドレスを、NetScaler CPXインスタンスの

VIPとして構成します。 クライアント要求は、VIPで直接受信されます。

この構成例では、10.x.x.xネットワークはパブリックネットワークを表していることに注意してください。

このシナリオを構成するには、Linux Shellプロンプトで次のコマンドを実行します。

ip addr add 10.102.29.100/24 dev docker0; \

ip addr del 10.102.29.100/24 dev eth0; \

brctl addif docker0 eth0; \

ip route del default; \

ip route add default via 10.102.29.1 dev docker0

NetScaler MASのジョブ機能を使用するか、Nitro APIを使用して、次のコマンドを実行します。

構成例 コピー

構成例 コピー

Page 57: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.57https://docs.citrix.com

add service s1 172.17.0.8 http 80

add service s2 172.17.0.9 http 80

add lb vserver cpx-vip HTTP 10.102.29.102 80

bind lb vserver cpx-vip s1

bind lb vserver cpx-vip s2

Page 58: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.58https://docs.citrix.com

MesosおよびMarathon環境でのNetScaler CPXの展開

Dec 15, 2016

この展開では、MesosおよびMarathon環境を使用して、アプリケーションの起動や、スケールアップまたはスケールダウ

ンを行えます。 Mesosでは、分散アプリケーションまたはフレームワーク間のリソース分離およびリソース共有ができま

す。 Marathonは、アプリケーションの起動や、スケールアップまたはスケールダウンを行えるアプリケーションオーケス

トレーションフレームワークです。 MesosおよびMarathonについて詳しく

は、https://docs.mesosphere.com/gettingstarted/overview/を参照してください。

MesosおよびMarathon環境でNetScaler CPXを展開するには、次のタスクを完了する必要があります。

1. MesosおよびMarathonのマスター-スレーブクラスターをセットアップします。 各アプリケーションとNetScaler CPXイ

ンスタンスをUbuntuホスト上に構成し、これらのホストをMesosスレーブとして構成する必要があります。 1つの

UbuntuホストをMesosマスターとして構成し、Mesosマスター上にMarathonをインストールする必要があります。 詳し

くは、https://open.mesosphere.com/getting-started/install/を参照してください。

2. アプリケーションとNetScaler CPXインスタンスのイメージを、すべてのMesosスレーブに保存する必要があります。

3. その後、Marathon CLIまたはMarathon GUIを使用して、アプリケーションとNetScaler CPXインスタンスを起動できま

す。 Marathonでは、NetScaler CPXインスタンスはアプリケーションとして起動されることに注意してください。

Marathonでのアプリケーション実行について詳しくは、https://mesosphere.github.io/marathon/docs/application-

basics.htmlを参照してください。

次の図は、MesosおよびMarathon環境でのNetScaler CPXの展開を示しています。

Page 59: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.59https://docs.citrix.com

この例のUH1は、Mesosマスターとして構成されているUbuntuホストです。 UbuntuホストのUH2、UH3、およびUH4は

Mesosスレーブとして構成されています。 MarathonはMesosマスターにインストールされています。 App1とApp2は、

NetScaler CPXで負荷分散を行うアプリケーションです。 アプリケーションを起動するために、Mesosマスターは、Mesos

スレーブとその他のリソースをアプリケーションに割り当てます。次に、割り当てられたMesosスレーブ上でMarathonが

アプリケーションを起動します。 この例のCPX、App1、およびApp2は、それぞれUbuntuホストUH2、UH3、およびUH4で

起動されます。

Marathon CLIまたはMarathon GUIを使用して、アプリケーションとNetScaler CPXインスタンスを起動できます。

Marathon CLIを使用した、アプリケーションとNetScaler CPXの起動

アプリケーションまたはNetScaler CPXインスタンスを起動するには、JSONスクリプトを作成する必要があります。 JSONス

クリプトには、ID、インスタンス数、コンテナーの種類、アプリケーションイメージファイル名、ポートマッピング、ネッ

トワーク、ラベル、およびヘルスチェックの仕様などの詳細を含める必要があります。 JSONスクリプトを作成したら、

Mesosマスターで実行してアプリケーションとNetScaler CPXインスタンスを起動する必要があります。

アプリケーションとアプリケーションとNetScaler CPXインスタンスを起動するにはインスタンスを起動するには

1. 起動するアプリケーションとNetScaler CPXインスタンスそれぞれにJSONスクリプトを作成します。

Page 60: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.60https://docs.citrix.com

たとえば、アプリケーションを起動するには、次のサンプルスクリプトのようなJSONスクリプトを作成します。

{

"id": "web-backend",

"cpus": 0.1,

"mem": 100.0,

"instances": 2,

"container": {

"type": "DOCKER",

"docker": {

"image": "nginx_backend:latest",

"forcePullImage": false,

"network": "BRIDGE",

"portMappings": [

{ "containerPort": 80, "hostPort": 0, "servicePort": 20002, "protocol": "tcp" }

]

}

},

"labels": {

"NETSCALER_GROUP":"BACKEND"

例 コピー

Page 61: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.61https://docs.citrix.com

},

"healthChecks": [

{

"protocol": "HTTP",

"port Index": 0,

"path": "/",

"gracePeriodSeconds": 5,

"intervalSeconds": 20,

"maxConsecutiveFailures": 3

}

]

}

注意アプリケーションの場合は、ラベルをNETSCALER_CPXに設定しないようにします。 アプリケーションのラベルパラメーターを

NETSCALER_CPXに設定すると、そのアプリケーションをNetScaler CPXインスタンスで構成できなくなります。

たとえば、NetScaler CPXインスタンスを起動するには、次のサンプルスクリプトにあるようにJSONスクリプトを作成し

ます。

{

"id": "cpx",

例 コピー

Page 62: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.62https://docs.citrix.com

"cpus": 0.25,

"mem": 512,

"instances": 2,

"container": {

"type": "DOCKER",

"docker": {

"image": "cpx:10.5-53.535",

"network": "HOST",

"privileged": true,

"parameters": [

{ "key": "tty", "value": "true" },

{ "key": "env", "value": "NS_NETMODE=HOST" },

{ "key": "env", "value": "NETSCALER_GROUP=BACKEND" },

{ "key": "env", "value": "marathon_url=http://10.102.103.222:8080" }

]

}

},

"labels": {

"NETSCALER_AS_APP": "true"

}

Page 63: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.63https://docs.citrix.com

}

注意MesosおよびMarathon環境では、ホストネットワークモードでのNetScaler CPXインスタンスの実行のみがサポートされます。 こ

のため、JSONスクリプトで、ネットワークパラメーターの値をHOSTに設定する必要があります。

2. Mesosマスターで次のコマンドを実行して、JSONスクリプトを実行します。

curl -X POST http://<Marathon_IP_Address>:<Marathon port>/v2/apps -d @<JSON_Script_Name>.json -H "Content-type: applicat ion/json"

または、次のdocker runコマンドでもNetScaler CPXインスタンスを起動できます。

docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" --ulimit core=-1 -e marathon_url=“http://<Marathon_IP_Address>:<Marathon port>" cpx:7

Marathonで認証が必要な場合は、次のdocker runコマンドを使用できます。

docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" --ulimit core=-1 marathon_url=“http://<Marathon_IP_Address>:<Marathon port>" –e marathon_user=abcd –e marathon_password=secret cpx:7

Marathon GUIを使用した、アプリケーションとNetScaler CPXの起動

Marathon GUIにアクセスするには、ブラウザーでMarathon IPアドレスとポートを入力します。 デフォルトでは、

Marathonポートは8080です。

-command コピー

-command コピー

-command コピー

Page 64: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.64https://docs.citrix.com

アプリケーションとアプリケーションとNetScaler CPXインスタンスを起動するにはインスタンスを起動するには

1. Marathon GUIにログオンします。

2. [[Applications]]タブの左上ペインで、[[Create]]をクリックします。

3. [[New Application]]画面の[[Docker container settings]]、[[Environment variables]]、[[Labels]]、[[Healthchecks]]、および[[Optional settings]]の各セクションでパラメーターを指定します。

注意MesosおよびMarathon環境では、ホストネットワークモードでのNetScaler CPXインスタンスの実行のみがサポートされます。 こ

のため、NetScaler CPXインスタンスを起動する場合は、[Docker container settings]セクションの[Network]一覧で、[Host]

を選択します。

4. [[+ Create]]をクリックします。

5. 起動したアプリケーションが[[Applications]]に表示されます。

Page 65: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.65https://docs.citrix.com

Page 66: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.66https://docs.citrix.com

NetScaler MASを使用したNetScaler CPXインスタンスとMesos、Marathon、InfoBlox、およびNuageの統合

Dec 15, 2016

ネットワーク管理者は、Marathonスケジューラを使用してMesosクラスターのアプリケーションを展開し、複数の

NetScaler CPXインスタンスをプロビジョニングして、アプリケーションへのトラフィックを負荷分散できます。 Nuage

VSPソリューションを使用して、展開に含まれる各アプリケーションとNetScaler CPXインスタンスへのネットワーク接続を

提供し、また、InfoBloxソリューションを使用して展開内にDNSサービスをセットアップできます。

NetScaler MASを使用すると、NetScaler CPXインスタンスおよびアプリケーションを管理および監視し、可視性を得ること

ができます。

この展開に対して、次のタスクを行います。

1. MesosおよびMarathonのマスター-スレーブクラスターをセットアップします。 各アプリケーションとNetScaler CPXイ

ンスタンスをUbuntuホスト上に構成し、これらのホストをMesosスレーブとして構成する必要があります。 1つの

UbuntuホストをMesosマスターとして構成し、Mesosマスター上にMarathonをインストールする必要があります。 詳し

くは、https://open.mesosphere.com/getting-started/install/を参照してください。

2. アプリケーションとNetScaler CPXインスタンスのイメージを、すべてのMesosスレーブに保存する必要があります。

3. その後、Marathon CLIまたはMarathon GUIを使用して、アプリケーションとNetScaler CPXインスタンスを起動できま

す。 Marathonでは、NetScaler CPXインスタンスはアプリケーションとして起動されることに注意してください。

Marathonでのアプリケーション実行について詳しくは、https://mesosphere.github.io/marathon/docs/application-

basics.htmlを参照してください。

4. Nuage VSPソリューションのVIPサブネットをセットアップします。 このVIPサブネットは、将来のMesosアプリケー

ションすべてのVIPニーズに対応できる大きさにする必要があります。 MesosアプリケーションがこのVIPサブネットを

使用することがないようにし、Nuageエンドポイント(vport)を作成しないようにします。

5. DNS解決のために、InfoBloxソリューションにDNSサーバーをセットアップします。

6. アプリケーション、Marathonスケジューラ、Nuage、およびInfoBloxの詳細をNetScaler MASに登録します。

7. NetScaler CPXインスタンスをNetScaler MASに追加します。

注意事項注意事項

1. NetScaler CPXのIPアドレス(管理IPアドレス)は、Mesosクラスター内で完全にルーティングできる必要があります。

2. MesosスレーブでNetScaler CPXインスタンスをプロビジョニングするときに、次の詳細を指定する必要があります。

NetScaler MASのホスト名またはIPアドレス

NetScaler MAS管理者のユーザー名とパスワード

DNS解決のために、NetScaler CPXインスタンスに構成するDNSサーバー名

3. アプリケーションとNuageサブネットは、1対1でマップされている必要があります。

4. NetScaler CPXは、Mesosスレーブ上で実行されているNuage Dockerモニターを使用してネットワークに接続されている

必要があります。

5. 関連付けられているサブネットには、Marathonアプリケーションタスク(アプリケーションのVIPアドレスのIP:portメン

バー)のみが存在する必要があります。

6. Marathonアプリケーションポートが、Marathonラベルのいずれかに指定されている必要があります。

Marathon GUIを使用した、アプリケーションとNetScaler CPXの起動

Marathon GUIにアクセスするには、ブラウザーでMarathon IPアドレスとポートを入力します。 デフォルトでは、

Page 67: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.67https://docs.citrix.com

Marathonポートは8080です。

アプリケーションとアプリケーションとNetScaler CPXインスタンスを起動するにはインスタンスを起動するには

1. Marathon GUIにログオンします。

2. [[Applications]]タブの左上ペインで、[[Create]]をクリックします。

3. [[New Application]]画面の[[Docker container settings]]、[[Environment variables]]、[[Labels]]、[[Healthchecks]]、および[[Optional settings]]の各セクションでパラメーターを指定します。

注意MesosおよびMarathon環境では、ホストネットワークモードでのNetScaler CPXインスタンスの実行のみがサポートされます。 こ

のため、NetScaler CPXインスタンスを起動する場合は、[[Docker container settings]]セクションの[[Network]]一覧

で、[[Host]]を選択します。

4. [[+ Create]]をクリックします。

5. 起動したアプリケーションが[[Applications]]に表示されます。

Page 68: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.68https://docs.citrix.com

アプリケーション、Marathonスケジューラ、Nuage、およびInfoBloxの詳細のNetScaler MASへの登録

NetScaler CPXインスタンスを正常に展開するには、アプリケーション、Marathonスケジューラ、NuageおよびInfoBloxソリューションの詳細をNetScalerMASに登録する必要があります。

NetScaler CPXインスタンスがNetScaler MASに接続できるように、ネットワークを構成する必要があります。 NetScaler CPXコンテナーが起動し、Nuage環境から管理IPアドレスを取得すると、セキュリティで保護された接続を使用してNetScaler MASへの登録要求が送信されます。

登録プロセスの一環として、NetScaler MASでは、NetScaler CPXインスタンスに関する情報と、Nitro REST APIを使用した構成用に、IPアドレスまたはアクセス可能なポートの情報を取得します。 その後、NetScaler MASはヘルスの監視を開始します。

NetScaler MASに詳細を登録するには

1. NetScaler MASにログオンします。2. [[Orchestration]]>[[Container Orchestration]]>[[Mesos Conf iguration]]の順に選択して、次に[[Add]]をクリックします。3. [[Application Settings]]で、次のパラメーターを設定します。

[[App Default Domain Suf f ix]]: アプリケーションのDNS名の作成に使用するドメインサフィックス(InfoBloxで構成)。[[VIP Subnet Name]]: アプリケーションのVIPを割り当てるためにNetScaler MASで使用される、Nuageサブネットの名前。 このサブネットは、Nuageシステムに先に作成しておき、後からNetScaler MASに登録する必要があります。

4. [[Marathon Scheduler Details]]で、Marathon URL、ユーザー名およびパスワードを指定します。5. [[Nuage Details]]で、VSD URL、ユーザー名、パスワード、およびVSDエンタープライズIDを指定します。6. [[ InfoBlox]]で、InfoBlox URL、ユーザー名およびパスワードを指定します。7. /etc/resolv.confファイルに、InfoBlox DNS IPアドレスとドメイン検索パスを追加します。 注:注:NetScaler Management and Analytics Systemを再起動するときに、InfoBlox DNS IPアドレスとドメイン検索パスを/etc/resolv.confファイルに保持するには、/mpsconf ig/svm.confファイルで次の内容を更新します。/mps/changenameserver.sh <DNS IP address1> <DNS IP address2>echo "search <domain name>" >> /etc/resolv.conf

8. NetScaler CPXインスタンスをJSONスクリプトファイルを使用して起動します。 次に、JSONスクリプトのサンプルファイルを示します。注:注: JSONスクリプトファイルに、次の行を含めるようにします。"cmd" : "cd /var/netscaler/bins/ ; sed -i 's/# Creating NSPPE startup conf, Read By PE/# Creating NSPPE startup conf, Read By PE\\necho\"$NSIP $HOSTNAME\" >> \\\/etc\\\/hosts/' ./docker_startup.sh ; bash -C ./docker_startup.sh ; bash",

JSONスクリプトの例:スクリプトの例:

curl -X POST http://10.xx.xx.62:8080/v2/apps -d @cpx_nuage_custom_etchostcorrection.json -H "Content-type: application/json"

{

"id": "cpx-host3",

例 コピー

Page 69: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.69https://docs.citrix.com

"cpus": 1,

"mem": 1024,

"instances": 2,

"cmd" : "cd /var/netscaler/bins/ ; sed -i 's/# Creating NSPPE startup conf, Read By PE/# Creating NSPPE startup conf, Read By PE\\necho \"$NSIP $HOSTNAME\" >> \\\/etc\\\/hosts/' ./docker_startup.sh ; bash -C ./docker_startup.sh ; bash",

"constraints": [["hostname", "UNIQUE"]],

"container": {

"type": "DOCKER",

"docker": {

"image": “cpx:11.1.40.3",

"network": "NONE",

"privileged": true,

"parameters": [

{ "key": "tty", "value": "true" }

]

}

},

"env": {

"NUAGE-ENTERPRISE": "<nuage_enterprise>",

"NUAGE-DOMAIN" : "<nuage_domain>",

"NUAGE-ZONE":"<nuage_zone>",

Page 70: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.70https://docs.citrix.com

"NUAGE-NETWORK":"<nuage_network>",

"NUAGE-USER":"<nuage_user>",

"NS_MGMT_SERVER":"<NMAS_server_IP>"

},

"labels": {

"NETSCALER_AS_APP": "true"

}

}

各オプションの意味は次のとおりです。

<nuage_enterprise>は、Nuageエンタープライズの名前です。

<nuage_domain>は、Nuageドメインの名前です。

<nuage_zone>は、Nuageゾーンの名前です。

<nuage_network>は、Nuageネットワークの詳細です。

<nuage_user>は、Nuage管理ユーザー名です。

<NMAS_server_IP>は、NetScaler MASサーバーのIPアドレスです。

Page 71: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.71https://docs.citrix.com

Kubernetes環境でのNetScaler CPXの展開

Dec 15, 2016

NetScaler CPXをKubernetes展開に統合して、クラスター環境内のコンテナー化されたアプリケーションを負荷分散できま

す。 Kubernetesについて詳しくは、http://kubernetes.io/docs/を参照してください。

Kubernetes環境で、NetScaler CPXはミニオンのkube-proxyを置き換え、ポッド内のコンテナーの負荷を分散します。

Kubernetesサポートの開始時には、NetScaler CPXは、特権が付与されたホストモードでNetScaler IPアドレス192.168.0.1で

起動します。 また、ホスト上の構成とiptableをクリアし、サービスとエンドポイントの現在の状態をKubernetesに照会し、

Kubernetesフレームワークの次のイベントストリームでイベントをリッスンします。

サービスチャネルサービスチャネル: NetScaler CPXはこのチャネルの情報を使用して、必要な仮想サーバー数を判断します。 また、各

サービスの仮想サーバーを作成し、それぞれに仮想IPアドレス(192.168.0.2)を割り当てます。 これらの仮想サーバー

は、エフェメラルポート番号(20000〜30000の範囲から選択される)に基づいて区別されます。 また、NetScaler CPX

は、iptable規則を作成して、クラスターIPアドレス宛てのトラフィックをさまざまな仮想IPアドレスにリダイレクトしま

す。

エンドポイントチャネルエンドポイントチャネル: NetScaler CPXはこのチャネルの情報を使用して、アプリケーションインスタンスを負荷分

散するために、仮想IPアドレスにバインドされたサービスグループ上のサービスグループメンバーを構成します。

NetScaler CPXでは、サービス用に作成されたNetScaler構成は保存されません。

注意サービスに割り当てるIPアドレスの範囲は、NetScaler IPアドレスと後続の3つのIPアドレスと競合しないようにする必要がありま

す。

次の図は、NetScaler CPXがKubernetes環境とどのように連携するかを示します。

Page 72: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.72https://docs.citrix.com

NetScaler CPXのインスタンスのインストールを開始する前に、次の準備ができていることを確認します。

DockerがLinuxホストシステムにインストールされている。

Dockerをインストールするには、Linux Shellプロンプトで次のコマンドを実行します。

curl – ssl https://get.docker.com/ | shLinuxでのDockerのインストールについて詳しくは、https://docs.docker.com/engine/installation/ubuntulinux/を参照し

てください。

Dockerホストからインターネットに接続できる。

ルートユーザーとしてログインしている。

Kubernetes環境が、すべてのクラスターノードが構成された状態にセットアップされている。

NetScaler CPX Dockerイメージを、Kubernetes環境のすべてのノードに追加する。

注意NetScaler CPXインスタンスはkube-proxyと一緒に使用できますが、NetScaler CPXの起動は、kube-proxyの起動後にのみ行いま

す。また、kube-proxyが再起動されていないことを確認する必要があります。

NetScaler CPXインスタンスを、KubernetesがセットアップされたDockerホストにインストールするには、次のコマンドを

実行します。

-command コピー

Page 73: NetScaler CPX 11 - Citrix Docs · NetScaler CPXについて Dec 15, 2016 Citrix NetScaler CPXは、コンテナーベースのアプリケーションデリバリーコントローラーで、Dockerホストでプロビジョニ

© 1999-2017 Citrix Systems, Inc. All rights reserved. p.73https://docs.citrix.com

docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e kubernetes_url=“http://10.102.103.222:8080/api" cpx:latest

注意192.168.1.0/24ネットワークをNetScaler CPX向けに予約できない場合は、空いている他のサブネットを使用できます。 そのサブ

ネットの最初のIPアドレスを、NetScaler IP(NSIP)として割り当てます。 たとえば、サブネットに10.20.30.0/24を使用する場合

は、次のコマンドを実行します。

docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e NS_IP=10.20.30.41 -e kubernetes_url="http://10.217.212.185:8080/api" cpx:latest

-command コピー