Résolution des problèmes liés à 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 à certains des problèmes courants liés à l’installation et à la configuration de NetScaler CPX.

  • Pourquoi le pourcentage d’utilisation de la mémoire est-il toujours élevé dans NetScaler CPX ?

Le pourcentage d’utilisation de la mémoire est déterminé en comparant l’utilisation actuelle de la mémoire de NetScaler CPX à la mémoire totale que NetScaler CPX s’alloue à partir du système d’exploitation (OS). NetScaler CPX commence par allouer un minimum de mémoire nécessaire au système d’exploitation pour le démarrage et les opérations de base. Au départ, étant donné que NetScaler CPX alloue le minimum de mémoire nécessaire à ses opérations, le pourcentage de consommation de mémoire est élevé. Finalement, à mesure que les besoins en ressources augmentent avec la mise à l’échelle des opérations NetScaler CPX, NetScaler CPX alloue de manière incrémentielle de la mémoire supplémentaire depuis le système d’exploitation et l’utilisation de la mémoire est également élevée, ce qui se traduit par un pourcentage d’utilisation de la mémoire élevé.

Ainsi, en raison de la stratégie d’allocation de mémoire dynamique de NetScaler CPX, NetScaler CPX affiche généralement un pourcentage d’utilisation de la mémoire élevé, reflétant son utilisation efficace des ressources plutôt qu’un manque de mémoire disponible.

  • Comment puis-je consulter les journaux NetScaler CPX ?

    Vous pouvez consulter les journaux de NetScaler CPX à l’aide de la kubectl logs commande si NetScaler CPX est déployé avec cette 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 du 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 obtenir le pack de support technique auprès de NetScaler CPX ?

    Vous pouvez exécuter la commande suivante sur l’interface shell du nœud principal 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 consulter le bundle de support technique dans le répertoire /var/tmp/support du système de fichiers de NetScaler CPX. Utilisez scp ou copiez kubectl cp le bundle de support technique depuis 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 est-il bloqué lors du démarrage ?

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

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

    Exemple :

     kubectl describe pods cpx-ingress1-69b9b8c648-t8bgn
    

    Si les événements de l’espace indiquent que le conteneur est démarré, vous devez vérifier les journaux de l’espace.

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

    Il est recommandé d’utiliser la fonction de montage de volume du menu fixe pour monter le répertoire /cpx sur le système de fichiers de l’hôte. Si un conteneur NetScaler CPX quitte les fichiers core-dumps, les journaux et 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 principal Kubernetes :

    kubectl cp : Vous pouvez exécuter la commande suivante pour copier des fichiers d’un espace à un autre :

     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 la commande pour copier des fichiers entre le pod NetScaler CPX et le nœud Kubernetes. Exécutez la commande suivante pour copier des fichiers d’un espace vers un nœud. Lorsqu’il vous demande le mot de passe, indiquez 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 puis-je 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
    

    Ensuite, 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 consulter les paquets capturés dans un fichier .cap situé 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 ping <ADM-IP> commande 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 groupée 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 des licences dans le fichier /cpx/log/boot.log . Vous pouvez également vérifier la licence groupée 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 licences 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 correctement configuré sur NetScaler CPX à l’aide de 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 de refus de connexion de la part 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 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 de NetScaler CPX consomme-t-il la majeure partie du processeur, même en cas de faible trafic ou d’absence de trafic ?

    Si NetScaler CPX est déployé avec la variable d’environnement CPX_CONFIG=’{“YIELD”:”NO”}', le processus NSPPE utilise 100 % du processeur, même lorsque le trafic est nul ou faible. Si vous souhaitez que le processus NSPPE n’utilise pas le processeur, 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 surcharger ou consommer l’utilisation du processeur.

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

    Les journaux relatifs à l’enregistrement de NetScaler CPX auprès de Citrix ADM se trouvent dans le fichier /cpx/log/boot.log du système de fichiers NetScaler CPX.

    Vous pouvez vérifier l’accessibilité de l’adresse IP Citrix ADM à partir du 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: spécifie l’adresse IP ou le nom de domaine complet ADM-IP.
    • HOST: spécifie l’adresse IP du nœud.
    • NS_HTTP_PORT: spécifie le port HTTP mappé sur le nœud.
    • NS_HTTPS_PORT: spécifie le port HTTPS mappé sur le nœud.
    • NS_SSH_PORT: spécifie le port SSH mappé sur le nœud.
    • NS_SNMP_PORT: spécifie le port SNMP mappé sur le nœud.
    • NS_ROUTABLE: L’adresse IP du pod NetScaler CPX n’est pas routable depuis l’extérieur.
    • NS_MGMT_USER: spécifie le nom d’utilisateur ADM.
    • NS_MGMT_PASS: spécifie le mot de passe ADM.
  • Pourquoi cli_script.sh affiche le message d’erreur Nom d’utilisateur ou mot de passe non valide affiche-t-il après la modification du mot de passe de l’utilisateur nsroot ?

    La commande cli_script.sh est un utilitaire d’encapsulation pour NSCLI sur NetScaler CPX. Il exécute le premier argument en tant que chaîne de commande ou chemin de fichier et le second argument est facultatif, qui est des informations d’identification. Si le mot de passe de l’utilisateur nsroot est modifié, vous devez fournir des informations d’identification en tant que deuxième argument de 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
    
  • Pourquoi le SSH vers NetScaler CPX échoue-t-il avec l’utilisateur root et nsroot ?

    À partir de la version 13.0 à 64.35, NetScaler CPX génère un mot de passe par défaut et le met à jour pour les utilisateurs SSH - et. rootnsroot Si vous n’avez pas modifié le mot de passe manuellement, le mot de passe des utilisateurs SSH se trouve dans /var/deviceinfo/random_id le système de fichiers de NetScaler CPX.

Résolution des problèmes liés à NetScaler CPX

Dans cet article