Citrix ADC CPX Problembehandlung
In diesem Dokument wird erläutert, wie Sie Probleme beheben können, die bei der Verwendung von Citrix ADC 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 Citrix ADC CPX anzuwenden.
-
Wie kann ich Citrix ADC CPX-Protokolle anzeigen?
Sie können Citrix ADC CPX-Protokolle mit dem
kubectl logs
Befehl anzeigen, wenn Citrix ADC CPX mit dertty:true
Option bereitgestellt 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-adc
Im Folgenden finden Sie ein Beispiel für die Citrix ADC CPX-Pod-Bereitstellung mit der
tty:true
Option:containers: - name: cpx-ingress image: "quay.io/citrix/citrix-k8s-cpx-ingress:13.0-58.30" tty: true securityContext: privileged: true env: <!--NeedCopy-->
Weitere Startprotokolle finden Sie in der Datei /cpx/log/boot.log des Citrix ADC CPX-Dateisystems.
Hinweis: Um den Pod-Namen abzurufen, führen Sie den
kubectl get pods -o wide
Befehl aus. -
Wie kann ich das technische Support-Paket von Citrix ADC CPX abholen?
Sie können den folgenden Befehl auf der Shell-Schnittstelle des Kubernetes-Masterknotens ausführen, um das technische Supportpaket für Citrix ADC CPX zu sammeln:
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-Paket im Verzeichnis /var/tmp/support des Dateisystems des Citrix ADC CPX anzeigen. Verwenden Sie
scp
oderkubectl cp
, um das technische Support-Paket von Citrix ADC 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 steckt der Citrix ADC CPX-Pod beim Booten fest?
Sie können den Pod-Status mit dem
kubectl describe pods
Befehl überprüfen. Führen Sie den folgenden Befehl aus, um den Pod-Status zu ermitteln:kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]
Beispiel:
kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
Wenn die Pod-Ereignisse zeigen, dass der Container gestartet wurde, müssen Sie die Pod-Protokolle überprüfen.
-
Wie kopiere ich Dateien zwischen dem Citrix ADC CPX-Pod und dem Kubernetes-Masterknoten?
Es wird empfohlen, die Volume-Mount-Funktion von Docker zu verwenden, um das
/cpx
Verzeichnis in das Dateisystem des Hosts einzuhängen. Wenn ein Citrix ADC CPX-Container Core-Dumps beendet, sind Protokolle und andere wichtige Daten auf dem Mount Point verfügbar.Sie können einen der folgenden Befehle verwenden, um Dateien zwischen dem Citrix ADC 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.log
scp: Sie können den Befehl verwenden, um Dateien zwischen dem Citrix ADC CPX-Pod und dem Kubernetes-Knoten zu kopieren. Führen Sie den folgenden Befehl aus, um Dateien vom Pod zum Knoten zu kopieren. Wenn es nach dem Kennwort fragt, geben Sie das Kennwort 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 Citrix ADC CPX?
Um Pakete auf Citrix ADC CPX zu erfassen, starten Sie die Shell-Schnittstelle von Citrix ADC CPX mit dem
kubectl exec
Befehl. Führen Sie den folgenden Befehl aus, um die Shell-Schnittstelle des Citrix ADC CPX-Pods zu starten:kubectl exec -it pod-name [-c container-name] [-n namespace-name] bash
Beispiel:
kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bash
Führen Sie außerdem den folgenden Befehl aus, um die Paketerfassung zu starten:
cli_script.sh “start nstrace -size 0”
Wenn Sie die laufende Paketerfassung beenden 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/timestamp im Citrix ADC CPX-Dateisystem anzeigen.
-
Warum ist der Lizenzserver nicht konfiguriert, auch wenn Citrix ADC CPX mit der
LS_IP=<ADM-IP>
Umgebungsvariablen bereitgestellt wird?Stellen Sie sicher, dass auf den Lizenzserver von dem Knoten aus zugegriffen werden kann, auf dem Citrix ADC CPX bereitgestellt wird. Sie können den
ping <ADM-IP>
Befehl verwenden, um die Konnektivität vom Citrix ADC CPX-Knoten zu Citrix ADM zu überprüfen.Wenn Citrix ADM vom Knoten aus zugänglich ist, müssen Sie die Lizenzserverkonfigurationsprotokolle in der Datei /cpx/log/boot.log überprüfen. Sie können auch mit dem folgenden Befehl auf der Shell-Oberfläche des Citrix ADC CPX-Pods nach der Lizenzserverkonfiguration suchen:
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 auch nach einer erfolgreichen Lizenzserverkonfiguration auf Citrix ADC CPX nicht auf Citrix ADC CPX konfiguriert?
Überprüfen Sie die Lizenzkonfigurationsprotokolle in der Datei /cpx/log/boot.log . Sie können die konfigurierte gepoolte Lizenz auf Citrix ADC CPX auch mithilfe des folgenden Befehls auf der Shell-Schnittstelle des Citrix ADC 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 Done
Stellen Sie außerdem sicher, dass die erforderlichen Lizenzdateien in den Lizenzserver hochgeladen wurden. Sie können auch die verfügbaren Lizenzen auf dem Lizenzserver überprüfen, nachdem er erfolgreich auf Citrix ADC CPX konfiguriert wurde, indem Sie den folgenden Befehl verwenden. Führen Sie den Befehl auf der Shell-Schnittstelle des Citrix ADC 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 eine Antwort von Citrix ADC CPX auf Verbindung verweigert ?
Der Standardport für NITRO-APIs ist 9080 (unsicher) und 9443 (sicher) ab Citrix ADC CPX Release 12.1. Stellen Sie sicher, dass der NITRO-Port von Citrix ADC CPX, auf den Sie zugreifen möchten, auf dem Pod verfügbar ist. Sie können den
kubectl describe
Befehl ausführen, um den bereitgestellten und zugeordneten Port des Citrix ADC CPX-Containers im Abschnitt Citrix ADC CPX-Container anzuzeigen:kubectl describe pods <pod-name> | grep -i port
Beispiel:
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 Citrix ADC CPX den größten Teil der CPU-Auslastung, selbst wenn kein oder wenig Verkehr vorhanden ist?
Wenn Citrix ADC CPX mit der
CPX_CONFIG=’{“YIELD”:”NO”}'
Umgebungsvariablen bereitgestellt wird, verbraucht der NSPPE-Prozess 100 Prozent CPU-Auslastung, selbst wenn kein oder nur wenig Datenverkehr vorhanden ist. Wenn Sie möchten, dass der NSPPE-Prozess die CPU-Auslastung nicht verbraucht, müssen Sie Citrix ADC CPX ohne dieCPX_CONFIG=’{“YIELD”:”NO”}
Umgebungsvariable bereitstellen. Standardmäßig ist der NSPPE-Prozess in CPX so konfiguriert, dass er die CPU-Auslastung nicht belastet oder verbraucht. -
Warum ist Citrix ADC CPX nicht in Citrix ADM aufgeführt, selbst wenn es mit den erforderlichen Umgebungsvariablen für die Registrierung bei Citrix ADM bereitgestellt wurde?
Die Protokolle für die Citrix ADC CPX-Registrierung bei Citrix ADM finden Sie in der Datei /cpx/log/boot.log im Citrix ADC CPX-Dateisystem.
Sie können die Zugänglichkeit der Citrix ADM-IP-Adresse über den Citrix ADC CPX-Pod mit dem Befehl
ping
überprüfen. Stellen Sie außerdem sicher, dass alle erforderlichen Umgebungsvariablen für die Citrix ADM-Registrierung für den Citrix ADC CPX-Container konfiguriert sind.-
NS_MGMT_SERVER
: Gibt die ADM-IP-Adresse oder den FQDN an. -
HOST
: Gibt die IP-Adresse des Knotens an. -
NS_HTTP_PORT
: Gibt den zugeordneten HTTP-Port auf dem Knoten an. -
NS_HTTPS_PORT
: Gibt den zugeordneten HTTPS-Port auf dem Knoten an. -
NS_SSH_PORT
: Gibt den zugeordneten SSH-Port auf dem Knoten an. -
NS_SNMP_PORT
: Gibt den zugeordneten SNMP-Port auf dem Knoten an. -
NS_ROUTABLE
: Die Citrix ADC CPX-Pod-IP-Adresse kann nicht von außen weitergeleitet werden. -
NS_MGMT_USER
: Gibt den ADM-Benutzernamen an. -
NS_MGMT_PASS
: Gibt das ADM-Kennwort an.
-
-
Warum wird die Fehlermeldung Ungültiger Benutzername oder Kennwort
cli_script.sh
angezeigt, nachdem das Kennwort für den nsroot-Benutzer geändert wurde?Der Befehl
cli_script.sh
ist ein Wrapper-Dienstprogramm für NSCLI auf Citrix ADC CPX. Es führt das erste Argument als Befehlszeichenfolge oder Dateipfad aus, und das zweite Argument ist optional, nämlich Anmeldeinformationen. Wenn das Kennwort für den nsroot-Benutzer geändert wird, müssen Sie Anmeldeinformationen als zweites Argument für angebencli_script.sh
. 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
-
Warum schlägt SSH zu Citrix ADC CPX mit
root
undnsroot
Benutzer fehl?Ab Version 13.0-64.35 generiert Citrix ADC CPX ein Standardkennwort und aktualisiert es für SSH-Benutzer -
root
undnsroot
. Wenn Sie das Kennwort nicht manuell geändert haben, finden Sie das Kennwort für SSH-Benutzer/var/deviceinfo/random_id
im Dateisystem von Citrix ADC CPX.