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 logs einsehen, wenn NetScaler CPX mit der Option tty:true 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 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 wide aus.

  • 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 scp oder kubectl 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-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 NetScaler CPX-Pod und dem Kubernetes-Masterknoten?

    Es wird empfohlen, die Volume-Mount-Funktion von Docker zu verwenden, um das Verzeichnis /cpx in 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.log
    

    scp: 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] bash
    

    Beispiel:

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

    Und 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
     Done
    

    Stellen 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 describe ausfü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 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 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 Umgebungsvariable CPX_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.)
  • Warum zeigt cli_script.sh die Fehlermeldung Invalid user name or password an, nachdem das Passwort für den nsroot-Benutzer geändert wurde?

    Der Befehl cli_script.sh ist 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 an cli_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
    
NetScaler CPX-Fehlerbehebung