Dépannage de NetScaler CPX

Ce document explique comment résoudre les problèmes que vous pouvez rencontrer lors de l’utilisation de NetScaler CPX. À l’aide de ce document, vous pouvez collecter des journaux pour déterminer les causes et appliquer des solutions de contournement pour certains des problèmes courants liés à l’installation et à la configuration de NetScaler CPX.

  • Comment puis-je afficher les journaux NetScaler CPX ?

    Vous pouvez afficher les journaux NetScaler CPX à l’aide de la commande kubectl logs si NetScaler CPX est déployé avec l’option tty:true. Vous pouvez exécuter la commande suivante pour afficher les journaux :

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

    Exemple,

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

    Voici un exemple de déploiement de pod NetScaler CPX avec l’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-->
    

    Vous trouverez d’autres journaux de démarrage dans le fichier /cpx/log/boot.log du système de fichiers NetScaler CPX.

    Remarque : Pour obtenir le nom du pod, exécutez la commande kubectl get pods -o wide.

  • Comment puis-je collecter le bundle de support technique de NetScaler CPX ?

    Vous pouvez exécuter la commande suivante sur l’interface shell du nœud maître Kubernetes pour collecter le bundle de support technique NetScaler CPX :

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

    Vous pouvez afficher le bundle de support technique dans le répertoire /var/tmp/support du système de fichiers de NetScaler CPX. Utilisez scp ou kubectl cp pour copier le bundle de support technique de NetScaler CPX vers la destination souhaitée.

    Exemple :

     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
    
  • Pourquoi le pod NetScaler CPX reste-t-il bloqué au démarrage ?

    Vous pouvez vérifier l’état du pod à l’aide de la commande kubectl describe pods. Exécutez la commande suivante pour connaître l’état du pod :

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

    Exemple :

     kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
    

    Si les événements du pod indiquent que le conteneur est démarré, vous devez vérifier les journaux du pod.

  • Comment copier des fichiers entre le pod NetScaler CPX et le nœud maître Kubernetes ?

    Il est recommandé d’utiliser la fonction de montage de volume de Docker pour monter le répertoire /cpx sur le système de fichiers de l’hôte. Si un conteneur NetScaler CPX génère des vidages de mémoire (core-dumps), les journaux et d’autres données importantes sont disponibles sur le point de montage.

    Vous pouvez utiliser l’une des commandes suivantes pour copier des fichiers entre le pod NetScaler CPX et le nœud maître Kubernetes :

    kubectl cp : Vous pouvez exécuter la commande suivante pour copier des fichiers d’un pod vers un nœud :

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

    Exemple :

     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 : Vous pouvez utiliser cette commande pour copier des fichiers entre le pod NetScaler CPX et le nœud Kubernetes. Exécutez la commande suivante pour copier des fichiers du pod vers le nœud. Lorsque le mot de passe vous est demandé, fournissez le mot de passe de l’utilisateur SSH :

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

    Exemple :

     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:~#
    
  • Comment capturer des paquets sur NetScaler CPX ?

    Pour capturer des paquets sur NetScaler CPX, lancez l’interface shell de NetScaler CPX à l’aide de la commande kubectl exec. Exécutez la commande suivante pour lancer l’interface shell du pod NetScaler CPX :

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

    Exemple :

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

    Et exécutez la commande suivante pour commencer la capture de paquets :

         cli_script.sh “start nstrace -size 0”
    

    Si vous souhaitez arrêter la capture de paquets en cours, exécutez la commande suivante :

         cli_script.sh “stop nstrace”
    

    Vous pouvez afficher les paquets capturés dans un fichier .cap dans le répertoire /cpx/nstrace/time-stamp du système de fichiers NetScaler CPX.

  • Pourquoi le serveur de licences n’est-il pas configuré même lorsque NetScaler CPX est déployé avec la variable d’environnement LS_IP=<ADM-IP> ?

    Assurez-vous que le serveur de licences est accessible depuis le nœud sur lequel NetScaler CPX est déployé. Vous pouvez utiliser la commande ping <ADM-IP> pour vérifier la connectivité entre le nœud NetScaler CPX et Citrix ADM.

    Si Citrix ADM est accessible depuis le nœud, vous devez vérifier les journaux de configuration du serveur de licences dans le fichier /cpx/log/boot.log. Vous pouvez également vérifier la configuration du serveur de licences à l’aide de la commande suivante sur l’interface shell du pod NetScaler CPX :

     cli_script.sh "show licenseserver"
    

    Exemple :

     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
    
  • Pourquoi la licence en pool n’est-elle pas configurée sur NetScaler CPX même après une configuration réussie du serveur de licences sur NetScaler CPX ?

    Vérifiez les journaux de configuration de la licence dans le fichier /cpx/log/boot.log. Vous pouvez également vérifier la licence en pool configurée sur NetScaler CPX à l’aide de la commande suivante sur l’interface shell du pod NetScaler CPX :

     cli_script.sh “show capacity”
    

    Exemple,

     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
    

    Assurez-vous également que les fichiers de licence requis sont téléchargés sur le serveur de licences. Vous pouvez également vérifier les licences disponibles sur le serveur de licences une fois qu’il est configuré avec succès sur NetScaler CPX en utilisant la commande suivante. Exécutez la commande sur l’interface shell du pod NetScaler CPX :

     cli_script.sh “sh licenseserverpool”
    

    Exemple :

     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-->
    
  • Pourquoi les appels d’API NITRO reçoivent-ils une réponse Connection Refused de NetScaler CPX ?

    Le port par défaut pour les API NITRO est 9080 (non sécurisé) et 9443 (sécurisé) à partir de la version 12.1 de NetScaler CPX. Assurez-vous que le port NITRO de NetScaler CPX auquel vous essayez d’accéder est exposé sur le pod. Vous pouvez exécuter la commande kubectl describe pour afficher le port exposé et mappé du conteneur NetScaler CPX dans la section du conteneur NetScaler CPX :

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

    Exemple :

          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-->
    
  • Pourquoi le processus NSPPE dans NetScaler CPX consomme-t-il la majeure partie de l’utilisation du CPU même en l’absence ou avec peu de trafic ?

    Si NetScaler CPX est déployé avec la variable d’environnement CPX_CONFIG=’{“YIELD”:”NO”}', le processus NSPPE consomme 100 % de l’utilisation du CPU même en l’absence ou avec peu de trafic. Si vous ne voulez pas que le processus NSPPE consomme l’utilisation du CPU, vous devez déployer NetScaler CPX sans la variable d’environnement CPX_CONFIG=’{“YIELD”:”NO”}. Par défaut, le processus NSPPE dans CPX est configuré pour ne pas accaparer ou consommer l’utilisation du CPU.

  • Pourquoi NetScaler CPX n’est-il pas répertorié dans Citrix ADM même s’il a été déployé avec les variables d’environnement requises pour l’enregistrement auprès de Citrix ADM ?

    Vous pouvez trouver les journaux d’enregistrement de NetScaler CPX auprès de Citrix ADM dans le fichier /cpx/log/boot.log sur le système de fichiers NetScaler CPX.

    Vous pouvez vérifier l’accessibilité de l’adresse IP de Citrix ADM depuis le pod NetScaler CPX à l’aide de la commande ping. Assurez-vous également que toutes les variables d’environnement requises pour l’enregistrement de Citrix ADM sont configurées pour le conteneur NetScaler CPX.

    • 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 (L’adresse IP du pod NetScaler CPX n’est pas routable depuis l’extérieur.)
  • Pourquoi cli_script.sh affiche-t-il le message d’erreur Nom d’utilisateur ou mot de passe invalide après avoir modifié le mot de passe de l’utilisateur nsroot ?

    La commande cli_script.sh est un utilitaire wrapper pour NSCLI sur NetScaler CPX. Elle exécute le premier argument comme chaîne de commande ou chemin de fichier, et le deuxième argument est facultatif et correspond aux informations d’identification. Si le mot de passe de l’utilisateur nsroot est modifié, vous devez fournir les informations d’identification comme deuxième argument à cli_script.sh. Vous pouvez exécuter la commande suivante pour exécuter NSCLI avec des informations d’identification :

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

    Exemple :

     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
    
Dépannage de NetScaler CPX