NetScaler CPX-Fehlerbehebung
Dieses Dokument erklärt, wie Sie Probleme beheben können, die bei der Verwendung von NetScaler CPX auftreten können. Mithilfe dieses Dokuments können Sie Protokolle sammeln, um die Ursachen zu ermitteln und Problemumgehungen für einige der häufigsten Probleme im Zusammenhang mit der Installation und Konfiguration von NetScaler CPX anwenden.
-
Wie kann ich NetScaler CPX-Protokolle einsehen?
Sie können NetScaler CPX-Protokolle mit dem Befehl
kubectl logseinsehen, wenn NetScaler CPX mit der Optiontty:truebereitgestellt wird. Sie können den folgenden Befehl ausführen, um die Protokolle anzuzeigen:kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]Beispiel,
kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adcIm Folgenden finden Sie ein Beispiel für die NetScaler CPX Pod-Bereitstellung mit der Option
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-->Weitere Boot-Protokolle finden Sie in der Datei /cpx/log/boot.log des NetScaler CPX-Dateisystems.
Hinweis: Um den Pod-Namen zu erhalten, führen Sie den Befehl
kubectl get pods -o wideaus. -
Wie kann ich das technische Support-Bundle von NetScaler CPX erfassen?
Sie können den folgenden Befehl auf der Shell-Oberfläche des Kubernetes-Masterknotens ausführen, um das technische Support-Bundle von NetScaler CPX zu erfassen:
kubectl exec <cpx-pod-name> [-c <cpx-container-name>] [-n <namespace-name>] /var/netscaler/bins/cli_script.sh "show techsupport"Sie können das technische Support-Bundle im Verzeichnis /var/tmp/support des NetScaler CPX-Dateisystems einsehen. Verwenden Sie
scpoderkubectl cp, um das technische Support-Bundle von NetScaler CPX an das gewünschte Ziel zu kopieren.Beispiel:
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 -
Warum bleibt der NetScaler CPX Pod beim Booten hängen?
Sie können den Pod-Status mit dem Befehl
kubectl describe podsüberprüfen. Führen Sie den folgenden Befehl aus, um den Pod-Status zu erfahren:kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]Beispiel:
kubectl describe pods cpx-ingress1-69b9b8c648-t8bgnWenn die Pod-Ereignisse zeigen, dass der Container gestartet wurde, müssen Sie die Pod-Protokolle überprüfen.
-
Wie kopiere ich Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Masterknoten?
Es wird empfohlen, die Volume-Mount-Funktion von Docker zu verwenden, um das Verzeichnis
/cpxin das Dateisystem des Hosts einzuhängen. Wenn ein NetScaler CPX-Container Core-Dumps beendet, sind Protokolle und andere wichtige Daten am Mount-Punkt verfügbar.Sie können einen der folgenden Befehle verwenden, um Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Masterknoten zu kopieren:
kubectl cp: Sie können den folgenden Befehl ausführen, um Dateien vom Pod zum Knoten zu kopieren:
kubectl cp <pod-name>:<absolute-src-path> <dst-path> [-c <container-name>] [-n <namespace-name>]Beispiel:
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: Sie können den Befehl verwenden, um Dateien zwischen dem NetScaler CPX-Pod und dem Kubernetes-Knoten zu kopieren. Führen Sie den folgenden Befehl aus, um Dateien vom Pod zum Knoten zu kopieren. Wenn Sie zur Eingabe des Passworts aufgefordert werden, geben Sie das Passwort für den SSH-Benutzer ein:
scp <user>@<pod-ip>:<absolute-src-path> <dst-path>Beispiel:
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:~# -
Wie erfasse ich Pakete auf NetScaler CPX?
Um Pakete auf NetScaler CPX zu erfassen, starten Sie die Shell-Schnittstelle von NetScaler CPX mit dem Befehl
kubectl exec. Führen Sie den folgenden Befehl aus, um die Shell-Schnittstelle des NetScaler CPX-Pods zu starten:kubectl exec -it pod-name [-c container-name] [-n namespace-name] bashBeispiel:
kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bashUnd führen Sie den folgenden Befehl aus, um die Paketerfassung zu starten:
cli_script.sh “start nstrace -size 0”Wenn Sie die laufende Paketerfassung stoppen möchten, führen Sie den folgenden Befehl aus:
cli_script.sh “stop nstrace”Sie können die in einer .cap-Datei erfassten Pakete im Verzeichnis /cpx/nstrace/time-stamp auf dem NetScaler CPX-Dateisystem anzeigen.
-
Warum ist der Lizenzserver nicht konfiguriert, selbst wenn NetScaler CPX mit der Umgebungsvariablen
LS_IP=<ADM-IP>bereitgestellt wird?Stellen Sie sicher, dass der Lizenzserver von dem Knoten aus zugänglich ist, auf dem NetScaler CPX bereitgestellt wird. Sie können den Befehl
ping <ADM-IP>verwenden, um die Konnektivität vom NetScaler CPX-Knoten zu Citrix ADM zu überprüfen.Wenn Citrix ADM vom Knoten aus zugänglich ist, müssen Sie die Konfigurationsprotokolle des Lizenzservers in der Datei /cpx/log/boot.log überprüfen. Sie können die Lizenzserverkonfiguration auch mit dem folgenden Befehl auf der Shell-Oberfläche des NetScaler CPX-Pods überprüfen:
cli_script.sh "show licenseserver"Beispiel:
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 -
Warum ist die gepoolte Lizenz auf NetScaler CPX nicht konfiguriert, selbst nach einer erfolgreichen Lizenzserverkonfiguration auf NetScaler CPX?
Überprüfen Sie die Lizenzkonfigurationsprotokolle in der Datei /cpx/log/boot.log. Sie können die konfigurierte gepoolte Lizenz auf NetScaler CPX auch mit dem folgenden Befehl auf der Shell-Oberfläche des NetScaler CPX-Pods überprüfen:
cli_script.sh “show capacity”Beispiel,
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 DoneStellen Sie außerdem sicher, dass die erforderlichen Lizenzdateien auf den Lizenzserver hochgeladen wurden. Sie können die verfügbaren Lizenzen auf dem Lizenzserver auch überprüfen, sobald dieser erfolgreich auf NetScaler CPX konfiguriert wurde, indem Sie den folgenden Befehl verwenden. Führen Sie den Befehl auf der Shell-Oberfläche des NetScaler CPX-Pods aus:
cli_script.sh “sh licenseserverpool”Beispiel:
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--> -
Warum erhalten NITRO-API-Aufrufe die Antwort Connection Refused von NetScaler CPX?
Der Standardport für NITRO-APIs ist ab NetScaler CPX Release 12.1 9080 (unsicher) und 9443 (sicher). Stellen Sie sicher, dass der NITRO-Port von NetScaler CPX, auf den Sie zugreifen möchten, auf dem Pod verfügbar ist. Sie können den Befehl
kubectl describeausführen, um den freigegebenen und zugeordneten Port des NetScaler CPX-Containers im Abschnitt des NetScaler CPX-Containers anzuzeigen:kubectl describe pods <pod-name> | grep -i portBeispiel:
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--> -
Warum verbraucht der NSPPE-Prozess in NetScaler CPX den größten Teil der CPU-Auslastung, selbst wenn kein oder nur wenig Datenverkehr vorhanden ist?
Wenn NetScaler CPX mit der Umgebungsvariablen
CPX_CONFIG=’{“YIELD”:”NO”}'bereitgestellt wird, verbraucht der NSPPE-Prozess 100 Prozent der CPU-Auslastung, selbst wenn kein oder nur wenig Datenverkehr vorhanden ist. Wenn Sie nicht möchten, dass der NSPPE-Prozess die CPU-Auslastung verbraucht, müssen Sie NetScaler CPX ohne die UmgebungsvariableCPX_CONFIG=’{“YIELD”:”NO”}bereitstellen. Standardmäßig ist der NSPPE-Prozess in CPX so konfiguriert, dass er die CPU-Auslastung nicht blockiert oder verbraucht. -
Warum wird NetScaler CPX in Citrix ADM nicht aufgeführt, selbst wenn es mit den erforderlichen Umgebungsvariablen für die Registrierung bei Citrix ADM bereitgestellt wurde?
Die Protokolle für die Registrierung von NetScaler CPX bei Citrix ADM finden Sie in der Datei /cpx/log/boot.log auf dem NetScaler CPX-Dateisystem.
Sie können die Erreichbarkeit der Citrix ADM IP-Adresse vom NetScaler CPX Pod aus mit dem Befehl
pingüberprüfen. Stellen Sie außerdem sicher, dass alle erforderlichen Umgebungsvariablen für die Citrix ADM Registrierung für den NetScaler CPX Container konfiguriert sind.- 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 (Die IP-Adresse des NetScaler CPX Pods ist von außen nicht routbar.)
- NS_MGMT_SERVER=
-
Warum zeigt
cli_script.shdie Fehlermeldung Invalid user name or password an, nachdem das Passwort für den nsroot-Benutzer geändert wurde?Der Befehl
cli_script.shist ein Wrapper-Dienstprogramm für NSCLI auf NetScaler CPX. Er führt das erste Argument als Befehlszeichenfolge oder Dateipfad aus, und das zweite Argument ist optional und sind Anmeldeinformationen. Wenn das Passwort für den nsroot-Benutzer geändert wird, müssen Sie die Anmeldeinformationen als zweites Argument ancli_script.shübergeben. Sie können den folgenden Befehl ausführen, um NSCLI mit Anmeldeinformationen auszuführen:cli_script.sh “<command>” “:<username>:<password>”Beispiel:
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