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.
-
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 copiezkubectl 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 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 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 ?
Vous pouvez trouver les journaux relatifs à l’enregistrement de NetScaler CPX auprès de Citrix ADM 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=
<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.)
- NS_MGMT_SERVER=
-
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 decli_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