NetScaler CPX のトラブルシューティング
このドキュメントでは、NetScaler CPX の使用中に発生する可能性のある問題のトラブルシューティング方法について説明します。このドキュメントを使用すると、ログを収集して原因を特定し、NetScaler CPX のインストールと構成に関連する一般的な問題のいくつかに対する回避策を適用できます。
-
NetScaler CPX のログを表示するにはどうすればよいですか?
NetScaler CPX が
tty:trueオプションで展開されている場合、kubectl logsコマンドを使用して NetScaler CPX のログを表示できます。ログを表示するには、次のコマンドを実行します。kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]例:
kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc以下は、
tty:trueオプションを使用した NetScaler CPX ポッド展開の例です。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 ディレクトリで確認できます。
scpまたはkubectl 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マスターノード間でファイルをコピーするにはどうすればよいですか?
Dockerのボリュームマウント機能を使用して、
/cpxディレクトリをホストのファイルシステムにマウントすることをお勧めします。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.logscp: このコマンドを使用して、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でパケットをキャプチャするには、
kubectl execコマンドを使用してNetScaler CPXのシェルインターフェイスを起動します。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/time-stamp ディレクトリで、.cap ファイルにキャプチャされたパケットを表示できます。
-
NetScaler CPXが
LS_IP=<ADM-IP>環境変数で展開されている場合でも、ライセンスサーバーが構成されていないのはなぜですか?NetScaler CPXが展開されているノードからライセンスサーバーにアクセスできることを確認してください。
ping <ADM-IP>コマンドを使用して、NetScaler CPXノードからCitrix ADMへの接続を確認できます。Citrix 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からConnection Refused応答を受け取るのはなぜですか?
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が
CPX_CONFIG=’{“YIELD”:”NO”}'環境変数で展開されている場合、トラフィックがない、またはほとんどない場合でも、NSPPEプロセスはCPU使用率の100パーセントを消費します。NSPPEプロセスがCPU使用率を消費しないようにしたい場合は、CPX_CONFIG=’{“YIELD”:”NO”}環境変数なしでNetScaler CPXを展開する必要があります。デフォルトでは、CPXのNSPPEプロセスはCPU使用率を独占したり消費したりしないように構成されています。 -
Citrix ADMに登録するために必要な環境変数で展開されたにもかかわらず、NetScaler CPXがCitrix ADMにリストされないのはなぜですか?
NetScaler CPXがCitrix ADMに登録されたログは、NetScaler CPXファイルシステムの/cpx/log/boot.logファイルで確認できます。
NetScaler CPXポッドからCitrix ADM IPアドレスへのアクセス可能性を
pingコマンドを使用して確認できます。また、NetScaler CPXコンテナにCitrix ADM登録に必要なすべての環境変数が構成されていることを確認してください。- NS_MGMT_SERVER=
<ADM-IP> - NS_MGMT_FINGER_PRINT=
<ADM-Fingerprint> - HOST=
<Node-IP> - NS_HTTP_PORT=
<Mapped-HTTP-Port-on-Node> - NS_HTTPS_PORT=
<Mapped-HTTPS-Port-on-Node> - NS_SSH_PORT=
<Mapped-SSH-Port-on-Node> - NS_SNMP_PORT=
<Mapped-SNMP-Port-on-Node> - NS_ROUTABLE=0 (NetScaler CPXポッドのIPアドレスは外部からルーティングできません。)
- NS_MGMT_SERVER=
-
nsrootユーザーのパスワードを変更した後、
cli_script.shに「Invalid user name or password」というエラーメッセージが表示されるのはなぜですか?コマンド
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