ホストにロードしたNetScaler CPX Dockerイメージを使用して、ホスト上でDockerコンテナにNetScaler CPXインスタンスをインストールできます。docker runコマンドを使用して、NetScaler CPXインスタンスをデフォルトのNetScaler CPX構成でインストールします。
次の***docker run***コマンドを使用して、NetScaler CPXインスタンスをDockerコンテナにインストールします:
docker run -dt -P --privileged=true --net=host –e NS_NETMODE=”HOST” -e CPX_CORES=<number of cores> --name <container_name> --ulimit core=-1 -e CPX_NW_DEV='<INTERFACES>' -e CPX_CONFIG=’{“YIELD”:”NO”}’ -e LS_IP=<LS_IP_ADDRESS> -e LS_PORT=<LS_PORT> e PLATFORM=CP1000 -v <host_dir>:/cpx <REPOSITORY>:<TAG>docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e CPX_NW_DEV='eth1 eth2' -e CPX_CORES=5 –e CPX_CONFIG='{"YIELD":"No"}' -e LS_IP=10.102.38.134 -e PLATFORM=CP1000 -v /var/cpx:/cpx --name cpx_host cpx:12.1-48.xx
この例では、NetScaler CPX Dockerイメージに基づいて、「mycpx」という名前のコンテナを作成します。
-Pパラメーターは必ず指定する必要があります。NetScaler CPX Docker イメージによってコンテナ内で公開されているポートをマッピングするようにDocker に指示します。つまり、ポート9080、22、9443、および 161/UDPをユーザー定義の範囲からランダムに選択されたDockerホスト上のポートにマッピングすることを意味します。このマッピングは競合を防ぐために行われます。あとで同じDockerホストに複数のNetScaler CPXコンテナを作成する場合。ポートマッピングは動的であり、コンテナが起動または再起動するごとに設定されます。ポートは次のように使用されます。
-
9080はHTTP用
-
9443はHTTPS用
-
22はSSH用
-
161/UDPはSNMP用。
静的なポートマッピングを行う場合は、-pパラメーターを使用して手動でポートを設定します。
--privileged=trueオプションは、コンテナを特権モードで実行するために使用されます。NetScaler CPXを複数のコアで実行している場合は、NetScaler CPXにすべてのシステム権限を与える必要があります。NetScaler CPXをシングルコアで実行する場合は、このオプションの代わりにオプションを使用する必要があります。 --cap-add=NET_ADMIN --cap-add=NET_ADMINこのオプションにより、NetScaler CPXコンテナを完全なネットワーク権限で実行できます。
**--net=hostは標準的なdocker runコマンドオプションで、コンテナがホストネットワークスタックで実行され、すべてのネットワークデバイスへのアクセス権を持つよう指定します。
NetScaler CPXをブリッジまたはネットワークなしで実行している場合は、このオプションは無視してください。
-e NS_NETMODE="HOST" はNetScaler CPX固有の環境変数で、これを使用してNetScaler CPXをホストモードで起動するように指定できます。NetScaler CPXがホストモードで起動すると、NetScaler CPXへの管理アクセス用に4つのデフォルトのiptableルールがホストマシン上に構成されます。この場合は次のポートを使用します:
-
9995はHTTP用
-
9996はHTTPS用
-
9997はSSH用
-
9998はSNMP用
異なるポートを指定する場合は、次の環境変数を使用できます。
-
-e NS_HTTP_PORT =
-
-e NS_HTTPS_PORT =
-
-e NS_SSH_PORT =
-
-e NS_SNMP_PORT =
NetScaler CPXをブリッジまたはネットワークなしで実行している場合は、この環境変数を無視してください。
-e CPX_CORESは、NetScaler CPX固有のオプションの環境変数です。このオプションを使用して、NetScaler CPXコンテナを起動する処理エンジンの数を定義することで、NetScaler CPXインスタンスのパフォーマンスを改善できます。
処理エンジンを追加するごとに、Dockerホストにエンジンと同じ数のvCPUとGBのメモリが備えられていることを確認してください。たとえば、4つの処理エンジンを追加する場合は、Dockerホストは4つのvCPUと4GBのメモリを備えている必要があります。
-e PLATFORM=CP1000パラメーターは、NetScaler CPXライセンスの種類を指定します。
ホストネットワークでDocker を実行している場合は、環境変数を使用してNetScaler CPXコンテナに専用のネットワークインターフェイスを割り当てることができます。 -e CPX_NW_DEV ネットワークインターフェイスはスペースで区切って定義する必要があります。定義したネットワークインターフェイスは、NetScaler CPXコンテナをアンインストールするまでNetScaler CPXコンテナによって保持されます。NetScaler CPXコンテナがプロビジョニングされる際に、割り当てられたすべてのネットワークインターフェイスがNetScalerネットワーク名前空間に追加されます。
NetScaler CPXをブリッジネットワークで実行している場合は、コンテナへの別のネットワーク接続を設定したり、既存のネットワークを削除したりするなど、コンテナネットワークを変更できます。次に、NetScaler CPXコンテナを再起動して、更新されたネットワークを使用するようにしてください。
docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e EULA=yes -e CPX_NW_DEV='eth1 eth2' -e CPX_CORES=5 -e PLATFORM=CP1000 --name cpx_host cpx:12.0-53.x
-e CPX_CONFIGはNetScaler CPXコンテナのスループットパフォーマンスを制御可能にするNetScaler CPX固有の環境変数です。NetScaler CPXが処理すべき受信トラフィックをまったく受け取らないときは、このアイドル時間中にCPUが解放されてスループットパフォーマンスが低下します。このような場合は、CPX_CONFIG環境変数を使用して、NetScaler CPXコンテナのスループットパフォーマンスを制御できます。CPX_CONFIG環境変数には、JSON形式で次のような値を入れる必要があります:
docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e EULA=yes -e CPX_CORES=5 –e CPX_CONFIG='{"YIELD":"No"}' -e PLATFORM=CP1000 --name cpx_host cpx:12.0-51.xdocker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e EULA=yes -e CPX_CORES=5 –e CPX_CONFIG='{"YIELD":"Yes"}' -e PLATFORM=CP1000 --name cpx_host cpx:12.0-51.xx
–vパラメーターは、NetScaler CPXマウントディレクトリ/cpxのマウントポイントを指定するオプションパラメーターです。マウントポイントはホスト上のディレクトリであり、そこに/cpxディレクトリをマウントします。/cpxディレクトリには、ログ、構成ファイル、SSL証明書、コアダンプファイルが保存されています。この例では、マウントポイントは/var/cpxで、NetScaler CPXマウントディレクトリは/cpxです。
ライセンスを購入した場合、または評価ライセンスを所有している場合は、そのライセンスをライセンスサーバーにアップロードして、docker runコマンドを-e LS_IP=<LS_IP_ADDRESS> -e LS_PORT=<LS_PORT>パラメーターを使用してライセンスサーバーの場所を指定できます。この場合は、EULAを承認する必要はありません。
docker run -dt --privileged=true --net=host -e NS_NETMODE="HOST" -e CPX_CORES=5 –e CPX_CONFIG='{"YIELD":"No"}' -e LS_IP=10.102.38.134 -e PLATFORM=CP1000 --name cpx_host cpx:12.0-51.xx
場所:
次のコマンドを使用すると、システムで実行されているイメージと、標準ポートにマップされたポートを表示できます: docker ps