NetScaler CPXインスタンスをNetScaler ADMに追加する

DockerホストにインストールされているNetScaler CPXインスタンスを管理および監視するには、それらをNetScaler Application Delivery Management (ADM)ソフトウェアに追加する必要があります。

インスタンスは、ADMを初めてセットアップするとき、または後で追加できます。

インスタンスを追加するには、インスタンスプロファイルを作成し、各インスタンスのホスト名またはIPアドレス、あるいはIPアドレスの範囲を指定する必要があります。このインスタンスプロファイルには、NetScaler ADMに追加するインスタンスのユーザー名とパスワードが含まれています。インスタンスタイプごとに、デフォルトプロファイルが利用可能です。たとえば、ns-root-profileはNetScalerインスタンスのデフォルトプロファイルです。このプロファイルは、デフォルトのADC管理者資格情報によって定義されます。インスタンスのデフォルトの管理者資格情報を変更した場合は、それらのインスタンスのカスタムインスタンスプロファイルを定義できます。インスタンスが検出された後にインスタンスの資格情報を変更した場合は、インスタンスプロファイルを編集するか、プロファイルを作成してから、インスタンスを再検出する必要があります。

前提条件

以下を確認してください。

  • Citrix XenServerにNetScaler ADMソフトウェアがインストールされていること。詳細については、NetScaler ADM Documentationを参照してください。
  • DockerホストにNetScaler CPXインスタンスがインストールされていること。

NetScaler CPXインスタンスをADMに追加するには:

  1. Webブラウザで、NetScaler Application Delivery ManagementのIPアドレスを入力します(例:http://192.168.100.1))。

  2. ユーザー名パスワードのフィールドに、管理者資格情報を入力します。デフォルトの管理者資格情報はnsrootnsrootです。

  3. Networks > Instances > NetScalerに移動し、CPXタブをクリックします。

  4. Addをクリックして、NetScaler ADMに新しいCPXインスタンスを追加します。

  5. Add NetScaler CPXページが開きます。以下のパラメータの値を入力します。

    1. CPXインスタンスの到達可能なIPアドレス、またはCPXインスタンスがホストされているDockerコンテナのIPアドレスのいずれかを提供することで、CPXインスタンスを追加できます。
    2. CPXインスタンスのプロファイルを選択します。
    3. インスタンスをデプロイするサイトを選択します。
    4. エージェントを選択します。
    5. オプションとして、インスタンスにキーと値のペアを入力できます。キーと値のペアを追加すると、後でインスタンスを簡単に検索できるようになります。

      CPXインスタンスを追加(/en-us/cpx/media/add-cpx-instances.png)

  6. OKをクリックします。

インスタンスを再検出する場合は、Networks > Instances > NetScaler > CPXを選択し、再検出するインスタンスを選択してから、Select ActionドロップダウンリストからRediscoverをクリックします。

環境変数を使用してNetScaler CPXインスタンスをNetScaler ADMに追加する

環境変数を使用してNetScaler CPXインスタンスをNetScaler ADMに追加することもできます。インスタンスを追加するには、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 ADMに追加するための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

<!--NeedCopy-->

Kubernetes ConfigMapを使用してNetScaler CPXインスタンスをNetScaler ADMに追加する

NetScaler CPXは、Kubernetes ConfigMapを介してボリュームマウントされたファイルを使用することで、NetScaler ADMへの登録をサポートします。この登録方法を有効にするには、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/にマウントする必要があります。

シークレット: 以下のコマンドを使用して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とシークレットの構成情報を更新できます。ConfigMapが作成されたファイルを新しいADMエージェントのIPアドレスまたはFQDNで更新し、古いConfigMapを削除してから、新しいConfigMapを作成する必要があります。同様に、既存のシークレットを削除し、新しいADMエージェントの資格情報で新しいシークレットを作成する必要があります。

NetScaler CPXインスタンスをNetScaler ADMに追加する