NetScaler CPX インスタンスを NetScaler Console に追加する
これらのインスタンスを管理および監視したい場合は、Docker ホストにインストールされているNetScaler CPX インスタンスをNetScaler Application Delivery Management (ADM) ソフトウェアに追加する必要があります。
インスタンスは、ADMを初めてセットアップするとき、または後で追加できます。
インスタンスを追加するには、インスタンスプロファイルを作成し、各インスタンスのホスト名またはIPアドレス、あるいはIPアドレスの範囲を指定する必要があります。このインスタンスプロファイルには、NetScaler Consoleに追加するインスタンスのユーザー名とパスワードが含まれています。インスタンスタイプごとに、デフォルトプロファイルが利用可能です。たとえば、
ns-root-profileはNetScalerインスタンスのデフォルトプロファイルです。このプロファイルは、デフォルトのADC管理者資格情報によって定義されます。インスタンスのデフォルトの管理者資格情報を変更した場合は、それらのインスタンスのカスタムインスタンスプロファイルを定義できます。インスタンスが検出された後にインスタンスの資格情報を変更した場合は、インスタンスプロファイルを編集または作成してから、インスタンスを再検出する必要があります。
前提条件
以下を確認してください。
-
Citrix XenServerにNetScaler Consoleソフトウェアをインストール済みであること。詳細については、「NetScaler Console Documentation」を参照してください。
-
DockerホストにNetScaler CPXインスタンスをインストール済みであること。
NetScaler CPXインスタンスをADMに追加するには:
-
Webブラウザで、NetScaler Application Delivery Management のIPアドレスを入力します(例:
http://192.168.100.1))。 -
ユーザー名とパスワードのフィールドに、管理者資格情報を入力します。デフォルトの管理者資格情報はnsrootとnsrootです。
-
Networks \> Instances > NetScaler に移動し、CPXタブをクリックします。
-
追加をクリックして、NetScaler Consoleに新しいCPXインスタンスを追加します。
-
NetScaler CPXの追加ページが開きます。次のパラメータの値を入力します。
-
CPXインスタンスを追加するには、CPXインスタンスの到達可能なIPアドレス、またはCPXインスタンスがホストされているDockerコンテナのIPアドレスのいずれかを指定します。
-
CPXインスタンスのプロファイルを選択します。
-
インスタンスをデプロイするサイトを選択します。
-
エージェントを選択します。
-
オプションとして、インスタンスにキーと値のペアを入力できます。キーと値のペアを追加すると、後でインスタンスを簡単に検索できるようになります。CPXインスタンスを追加(/en-us/cpx/media/add-cpx-instances.png)
-
-
OKをクリックします。
注
インスタンスを再検出する場合は、ネットワーク \> インスタンス \> NetScaler > CPX を選択し、再検出するインスタンスを選択してから、アクションの選択ドロップダウンリストから再検出をクリックします。
環境変数を使用してNetScaler CPXインスタンスをNetScaler Consoleに追加する
環境変数を使用してNetScaler CPXインスタンスをNetScaler Consoleに追加することもできます。インスタンスを追加するには、NetScaler CPXインスタンスに対して次の環境変数を構成する必要があります。
-
NS_MGMT_SERVER- ADM IPアドレス/FQDN -
HOST- ノードIPアドレス -
NS_HTTP_PORT- ノード上のマッピングされたHTTPポート -
NS_HTTPS_PORT- ノード上のマッピングされたHTTPSポート -
NS_SSH_PORT- ノード上のマッピングされたSSHポート -
NS_SNMP_PORT- ノード上のマッピングされたSNMPポート -
NS_ROUTABLE- (NetScaler CPXポッドのIPアドレスは外部からルーティングできません。) -
NS_MGMT_USER– ADMユーザー名 -
NS_MGMT_PASS– ADMパスワード
以下は、NetScaler CPXインスタンスをNetScaler Consoleに追加するための
docker runコマンドの例です。
docker run -dt --privileged=true -p 9080:9080 -p 9443:9443 -p 9022:22 -p 9161:161 -e EULA=yes -e NS_MGMT_SERVER=abc-mgmt-server.com -e HOST=10.1.1.1 -e NS_HTTP_PORT=9080 -e NS_HTTPS_PORT=9443 -e NS_SSH_PORT=9022 -e NS_SNMP_PORT=9161 -e NS_ROUTABLE=0 --ulimit core=-1 –name test cpx:latest
Kubernetes ConfigMapを使用してNetScaler ConsoleにNetScaler CPXインスタンスを追加する
NetScaler CPXは、Kubernetes ConfigMapを介してボリュームマウントされたファイルを使用することで、NetScaler Consoleへの登録をサポートします。この登録方法を有効にするには、NetScaler CPXは、ConfigMapとSecretを介してボリュームマウントされたいくつかのファイルとともに指定されるいくつかの環境変数を必要とします。
以下に、必要な環境変数とその説明を示します。
-
NS_HTTP_PORT- ノード上のマッピングされたHTTPポートを指定します。 -
NS_HTTPS_PORT- ノード上のマッピングされたHTTPSポートを指定します。 -
NS_SSH_PORT- ノード上のマッピングされたSSHポートを指定します。 -
NS_SNMP_PORT- ノード上のマッピングされたSNMPポートを指定します。
リストされている環境変数とは別に、NetScaler CPXは登録する必要があるADMエージェントに関する情報を必要とします。この情報には、ADMエージェントのIPアドレスまたはFQDNの詳細と資格情報が含まれます。NetScaler CPXは、ボリュームマウントされたファイルからこの情報を取得します。IPアドレスまたはFQDNを含むConfigMapは、NetScaler CPXインスタンスのファイルシステムにファイルとしてマウントされます。ADMエージェントの資格情報を含むKubernetesシークレットも、NetScaler CPXインスタンスのファイルシステムにファイルとしてマウントされます。登録に必要なすべての情報が揃うと、NetScaler CPXはADMエージェントへの登録を試みます。
以下は、ConfigMapとSecretがファイルとしてマウントされたNetScaler CPX YAMLファイルスニペットの例です。
…
env:
- name: "EULA"
value: "yes"
- name: "NS_HTTP_PORT"
value: "9080"
- name: "NS_HTTPS_PORT"
value: "9443"
- name: "NS_SSH_PORT"
value: "22"
- name: "NS_SNMP_PORT"
value: "161"
- name: "KUBERNETES_TASK_ID"
value: ""
…
volumeMounts:
…
- mountPath: /var/adminfo/server/
name: adm-agent-config
- mountPath: /var/adminfo/credentials/
name: adm-agent-user
…
volumes:
…
- name: adm-agent-config
configMap:
name: adm-agent-config
- name: adm-agent-user
secret:
secretName: adm-secret
上記の例では、
adm-agent-configという名前のConfigMapとadm-agent-userというシークレットが使用されています。以下は、必要なConfigMapとSecretを作成する例です。
ConfigMap: ConfigMapは、
adm_reg_envsという名前のファイルから作成されます。このファイルには、ADMエージェントのIPアドレスまたはFQDNを次の形式で記述する必要があります。
NS_MGMT_SERVER=adm-agent
上記の形式では、
adm-agentはNetScaler CPXインスタンスを登録する必要があるADMエージェントのFQDNです。
次のコマンドを使用してConfigMapを作成します。
kubectl create configmap adm-agent-config --from-file=adm_reg_envs
注: ファイル名には
adm_reg_envs変数が含まれている必要があり、/var/adminfo/server/のパスにマウントする必要があります。
Secret: 次のコマンドを使用してKubernetesシークレットを作成します。次のコマンドでは、
user123がADMエージェントのユーザー名、pass123がパスワードです。
kubectl create secret generic adm-secret --from-literal=NS_MGMT_USER=user123 --from-literal=NS_MGMT_PASS=pass123
NetScaler CPXインスタンスは、クラスターにADMエージェントをデプロイする前であっても、必要な環境変数とボリュームマウントされたファイルを使用してKubernetesクラスターにデプロイできます。ADMエージェントをデプロイする前にNetScaler CPXインスタンスをデプロイした場合、NetScaler CPXはADMエージェントがデプロイされるまで登録を試行し続けます。ADMエージェントがデプロイされると、NetScaler CPXインスタンスは、環境変数とボリュームマウントされたファイルを通じて提供された構成データを使用してADMエージェントに登録します。これにより、構成情報を含むNetScaler CPXの再デプロイを回避できます。
すでにADMエージェントに登録されているNetScaler CPXインスタンスは、構成の変更後に別のADMエージェントへの登録を動的に変更できます。このためには、すでにデプロイされているNetScaler CPXのConfigMapとSecretの構成情報を更新できます。ConfigMapが作成されたファイルを新しいADMエージェントのIPアドレスまたはFQDNで更新し、古いConfigMapを削除してから、新しいConfigMapを作成する必要があります。同様に、既存のシークレットを削除し、新しいADMエージェントの資格情報で新しいシークレットを作成する必要があります。