NetScaler CPXのトラブルシューティング

このドキュメントでは、NetScaler CPXの使用中に発生する可能性のある問題のトラブルシューティング方法について説明します。このドキュメントを使用すると、ログを収集して原因を特定し、NetScaler CPXのインストールと構成に関連する一般的な問題のいくつかに対して回避策を適用できます。

  • NetScaler CPXログを表示する方法を教えてください。

    NetScaler CPXがオプションを使用して展開されている場合、 kubectl logs コマンドを使用してNetScaler CPXログを表示できます。 tty:true 次のコマンドを実行して、ログを表示できます:

     kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]
    

    例:

     kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc
    

    以下は、オプションを使用したNetScaler CPXポッドの展開の例です。 tty:true

       containers:
         - name: cpx-ingress
           image: "quay.io/citrix/citrix-k8s-cpx-ingress:13.0-58.30"
           tty: true
           securityContext:
              privileged: true
           env:
    
     <!--NeedCopy-->
    

    NetScaler CPXファイルシステムの /cpx/log/boot.log ファイルには、より多くのブートログがあります。

    :ポッド名を取得するには、kubectl get pods -o wideコマンドを実行します。

  • NetScaler CPXからテクニカルサポートバンドルを入手する方法を教えてください。

    Kubernetesマスターノードのシェルインターフェイスで次のコマンドを実行すると、NetScaler CPXテクニカルサポートバンドルを収集できます。

     kubectl exec <cpx-pod-name> [-c <cpx-container-name>] [-n <namespace-name>] /var/netscaler/bins/cli_script.sh "show techsupport"
    

    テクニカルサポートバンドルは、NetScaler CPXのファイルシステムの/var/tmp/supportディレクトリで確認できますscpkubectl cp またはを使用して、NetScaler CPXから目的の宛先にテクニカルサポートバンドルをコピーします。

    例:

     root@localhost# kubectl exec cpx-ingress1-55b9b6fc75-t5kc6 -c cpx -n citrix-adc /var/netscaler/bins/cli_script.sh "show techsupport"
     exec: show techsupport
       Scope:  NODE
     Done
     root@localhost# kubectl cp cpx-ingress1-55b9b6fc75-t5kc6:var/tmp/support/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz -c cpx
     root@localhost# ll /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz
     -rw-r--r-- 1 root root 1648109 Aug 31 13:23 /tmp/collector_P_192.168.29.232_31Aug2020_07_30.tar.gz
    
  • NetScaler CPXポッドが起動中に動かなくなるのはなぜですか?

    kubectl describe podsコマンドを使用して、ポッドのステータスを確認できます。次のコマンドを実行して、ポッドのステータスを確認します:

     kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]
    

    例:

     kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
    

    ポッドイベントがコンテナが開始されたことを示している場合は、ポッドログを確認する必要があります。

  • NetScaler CPXポッドとKubernetesマスターノード間でファイルをコピーする方法を教えてください。

    /cpxディレクトリをホストのファイルシステムにマウントするには、Dockerのボリュームマウント機能を使用することをお勧めします。NetScaler CPXコンテナがコアダンプを終了すると、ログやその他の重要なデータがマウントポイントで利用可能になります。

    NetScaler CPXポッドとKubernetesマスターノード間でファイルをコピーするには、次のコマンドのいずれかを使用できます。

    kubectl cp:次のコマンドを実行して、ポッドからノードにファイルをコピーできます:

     kubectl cp <pod-name>:<absolute-src-path> <dst-path> [-c <container-name>] [-n <namespace-name>]
    

    例:

     root@localhost:~# kubectl cp cpx-ingress-596d56bb6-zbx6h:cpx/log/boot.log /tmp/cpx-boot.log -c cpx-ingress
     root@localhost:~# ll /tmp/cpx-boot.log
     -rw-r--r-- 1 root root 7880 Sep 11 00:07 /tmp/cpx-boot.log
    

    scp: コマンドを使用して、NetScaler CPXポッドとKubernetesノード間でファイルをコピーできます。次のコマンドを実行して、ポッドからノードにファイルをコピーします。パスワードの入力を求められたら、SSHユーザーのパスワードを入力します:

     scp <user>@<pod-ip>:<absolute-src-path> <dst-path>
    

    例:

     root@localhost:~# scp nsroot@192.168.29.198:/cpx/log/boot.log /tmp/cpx-boot.log
     nsroot@192.168.29.198's password:
     boot.log
     100% 7880     5.1MB/s   00:00
     root@localhost:~#
    
  • NetScaler CPXでパケットをキャプチャする方法を教えてください。

    NetScaler CPXでパケットをキャプチャするには、コマンドを使用してNetScaler CPXのシェルインターフェイスを起動します。 kubectl exec 次のコマンドを実行して、NetScaler CPXポッドのシェルインターフェイスを起動します。

         kubectl exec -it pod-name [-c container-name] [-n namespace-name] bash
    

    例:

         kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bash
    

    次に、以下のコマンドを実行してパケットのキャプチャを開始します:

         cli_script.sh “start nstrace -size 0”
    

    進行中のパケットキャプチャを停止する場合は、次のコマンドを実行します:

         cli_script.sh “stop nstrace”
    

    NetScaler CPXファイルシステムの/cpx/nstrace/timestampディレクトリにある.capファイルにキャプチャされたパケットを表示できます

  • NetScaler CPXを環境変数で展開しても、ライセンスサーバーが構成されないのはなぜですか? LS_IP=<ADM-IP>

    NetScaler CPXが展開されているノードからライセンスサーバーにアクセスできることを確認します。 ping <ADM-IP> コマンドを使用して、NetScaler CPXノードからNetScaler ADM への接続を確認できます。

    ノードからNetScaler ADMにアクセスできる場合は、/cpx/log/boot.logファイルでライセンスサーバーの構成ログを確認する必要があります。NetScaler CPXポッドのシェルインターフェイスで次のコマンドを使用して、ライセンスサーバーの構成を確認することもできます。

     cli_script.sh "show licenseserver"
    

    例:

     root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show licenseserver"
     exec: show licenseserver
     ServerName:  10.106.102.199Port:  27000 Status:  1   Grace:  0  Gptimeleft:  720
     Done
    
  • NetScaler CPXでライセンスサーバーが正常に構成された後でも、NetScaler CPXでプールライセンスが構成されないのはなぜですか?

    /cpx/log/boot.logファイルでライセンス構成ログを確認します。NetScaler CPXポッドのシェルインターフェイスで次のコマンドを使用して、NetScaler CPXで構成されたプールライセンスを確認することもできます。

     cli_script.sh “show capacity”
    

    例:

     root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show capacity"
     exec: show capacity
     Actualbandwidth:  1000  MaxVcpuCount:  2  Edition:  Platinum      Unit:  Mbps   Bandwidth:  0`  `Maxbandwidth:  40000        Minbandwidth:  20       Instancecount:  1
     Done
    

    また、必要なライセンスファイルがライセンスサーバーにアップロードされていることを確認してください。NetScaler CPXで正常に構成されたら、次のコマンドを使用してライセンスサーバーで使用可能なライセンスを確認することもできます。NetScaler CPXポッドのシェルインターフェイスで次のコマンドを実行します。

     cli_script.sh “sh licenseserverpool”
    

    例:

     root@cpx-ingress-596d56bb6-zbx6h:/cpx/log# cli_script.sh "show licenseserverpool"
     exec: show licenseserverpool
         Instance Total                     : 5
         Instance Available                 : 4
         Standard Bandwidth Total           : 0 Mbps
         Standard Bandwidth Availabe        : 0 Mbps
         Enterprise Bandwidth Total         : 0 Mbps
         Enterprise Bandwidth Available     : 0 Mbps
         Platinum Bandwidth Total           : 10.00 Gbps
         Platinum Bandwidth Available       : 9.99 Gbps
         CP1000 Instance Total              : 100
         CP1000 Instance Available          : 100
       Done
     <!--NeedCopy-->
    
  • NITRO API呼び出しにNetScaler CPXから接続拒否の応答が返されるのはなぜですか ?

    NetScaler CPXリリース12.1以降では、NITRO APIのデフォルトポートは9080(非セキュア)と9443(セキュア)です。アクセスしようとしているNetScaler CPXのNITRO ポートがポッドで公開されていることを確認してください。 kubectl describe コマンドを実行すると、NetScaler CPXコンテナの公開およびマッピングされたポートがNetScaler CPXコンテナセクションに表示されます。

     kubectl describe pods <pod-name> | grep -i port
    

    例:

          ng472 | grep -i port
             Ports:          80/TCP, 443/TCP, 9080/TCP, 9443/TCP
             Host Ports:     0/TCP, 0/TCP, 0/TCP, 0/TCP
               NS_HTTP_PORT:            9080
               NS_HTTPS_PORT:           9443
             Port:          <none>
             Host Port:     <none>
               NS_PORT:                 80
     <!--NeedCopy-->
    
  • NetScaler CPXのNSPPEプロセスが、トラフィックがない場合やほとんどない場合でもCPU使用率の大部分を消費するのはなぜですか?

    NetScaler CPX_CONFIG=’{“YIELD”:”NO”}' CPXを環境変数とともに展開すると、トラフィックがまったくない、またはほとんどない場合でも、NSPPEプロセスはCPU使用率を 100% 消費します。NSPPEプロセスがCPU使用率を消費しないようにするには、環境変数なしでNetScaler CPXを展開する必要があります。 CPX_CONFIG=’{“YIELD”:”NO”} デフォルトでは、CPXのNSPPEプロセスは、CPU使用率を占有または消費しないように構成されています。

  • NetScaler CPXをNetScaler ADMへの登録に必要な環境変数を使用して展開したのに、NetScaler ADM に表示されないのはなぜですか?

    NetScaler ADM へのNetScaler CPX登録のログは、NetScaler CPXファイルシステムの /cpx/log/boot.log ファイルにあります。

    コマンドを使用して、NetScaler CPXポッドからNetScaler ADM IPアドレスにアクセスできることを確認できます。 ping また、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パスワードを指定します。
  • nsrootユーザーのパスワードを変更した後、cli_script.shに「無効なユーザー名またはパスワードです」というエラーメッセージが表示されるのはなぜですか。

    cli_script.sh このコマンドは、NetScaler CPX上のNSCLIのラッパーユーティリティです。最初の引数をコマンド文字列またはファイルパスとして実行し、2番目の引数はオプションであり、資格情報です。nsrootユーザーのパスワードが変更された場合は、cli_script.shの2番目の引数として資格情報を指定する必要があります。次のコマンドを実行して、資格情報を使用してNSCLIを実行できます:

     cli_script.sh “<command>” “:<username>:<password>”
    

    例:

     root@087a1e34642d:/# cli_script.sh "show ns ip"
     exec: show ns ip
    
     ERROR: Invalid username or password
    
     root@087a1e34642d:/# cli_script.sh "show ns ip" ":nsroot:nsroot123"
    
     exec: show ns ip
    
     Ipaddress        Traffic Domain         Type             Mode     Arp     Icmp     Vserver  State        
     --------------   ----                   ----             ---     ----     -------  ------   -----
     172.17.0.3       0                   NetScaler IP     Active   Enabled  Enabled  NA       Enabled
     192.0.0.1        0                   SNIP             Active   Enabled  Enabled  NA       Enabled
     Done
    
  • NetScaler CPXへのSSHがユーザーに対して失敗するのはなぜですか? rootnsroot

    13.0-64.35リリース以降、NetScaler CPXはSSHユーザー向けにデフォルトのパスワードを生成して更新します(および)。 rootnsroot パスワードを手動で変更していない場合、SSHユーザーのパスワードはNetScaler /var/deviceinfo/random_id CPXのファイルシステムで確認できます。

NetScaler CPXのトラブルシューティング

この記事の概要