Solución de problemas de NetScaler CPX
Este documento explica cómo solucionar los problemas que puede encontrar al usar NetScaler CPX. Con este documento, puede recopilar registros para determinar las causas y aplicar soluciones provisionales para algunos de los problemas comunes relacionados con la instalación y configuración de NetScaler CPX.
-
¿Cómo puedo ver los registros de NetScaler CPX?
Puede ver los registros de NetScaler CPX usando el comando
kubectl logssi NetScaler CPX se implementa con la opcióntty:true. Puede ejecutar el siguiente comando para mostrar los registros:kubectl logs <pod-name> [-c <container-name>] [-n <namespace-name>]Ejemplo,
kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adcEl siguiente es un ejemplo de la implementación del pod de NetScaler CPX con la opción
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-->Puede encontrar más registros de arranque en el archivo /cpx/log/boot.log del sistema de archivos de NetScaler CPX.
Nota: Para obtener el nombre del pod, ejecute el comando
kubectl get pods -o wide. -
¿Cómo puedo recopilar el paquete de soporte técnico de NetScaler CPX?
Puede ejecutar el siguiente comando en la interfaz de shell del nodo maestro de Kubernetes para recopilar el paquete de soporte técnico de NetScaler CPX:
kubectl exec <cpx-pod-name> [-c <cpx-container-name>] [-n <namespace-name>] /var/netscaler/bins/cli_script.sh "show techsupport"Puede ver el paquete de soporte técnico en el directorio /var/tmp/support del sistema de archivos de NetScaler CPX. Use
scpokubectl cppara copiar el paquete de soporte técnico de NetScaler CPX al destino deseado.Ejemplo:
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 -
¿Por qué el pod de NetScaler CPX se queda atascado durante el arranque?
Puede comprobar el estado del pod usando el comando
kubectl describe pods. Ejecute el siguiente comando para conocer el estado del pod:kubectl describe pods <pod-name> [-c <container-name>] [-n <namespace-name>]Ejemplo:
kubectl describe pods cpx-ingress1-69b9b8c648-t8bgnSi los eventos del pod muestran que el contenedor se ha iniciado, debe comprobar los registros del pod.
-
¿Cómo copio archivos entre el pod de NetScaler CPX y el nodo maestro de Kubernetes?
Se recomienda utilizar la función de montaje de volumen de Docker para montar el directorio
/cpxen el sistema de archivos del host. Si un contenedor de NetScaler CPX sale con volcados de memoria (core-dumps), los registros y otros datos importantes están disponibles en el punto de montaje.Puede utilizar cualquiera de los siguientes comandos para copiar archivos entre el pod de NetScaler CPX y el nodo maestro de Kubernetes:
kubectl cp: Puede ejecutar el siguiente comando para copiar archivos del pod al nodo:
kubectl cp <pod-name>:<absolute-src-path> <dst-path> [-c <container-name>] [-n <namespace-name>]Ejemplo:
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.logscp: Puede usar el comando para copiar archivos entre el pod de NetScaler CPX y el nodo de Kubernetes. Ejecute el siguiente comando para copiar archivos del pod al nodo. Cuando se le solicite la contraseña, proporcione la contraseña del usuario SSH:
scp <user>@<pod-ip>:<absolute-src-path> <dst-path>Ejemplo:
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:~# -
¿Cómo capturo paquetes en NetScaler CPX?
Para capturar paquetes en NetScaler CPX, inicie la interfaz de shell de NetScaler CPX mediante el comando
kubectl exec. Ejecute el siguiente comando para iniciar la interfaz de shell del pod de NetScaler CPX:kubectl exec -it pod-name [-c container-name] [-n namespace-name] bashEjemplo:
kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bashY, ejecute el siguiente comando para iniciar la captura de paquetes:
cli_script.sh “start nstrace -size 0”Si desea detener la captura de paquetes en curso, ejecute el siguiente comando:
cli_script.sh “stop nstrace”Puede ver los paquetes capturados en un archivo .cap en el directorio /cpx/nstrace/time-stamp del sistema de archivos de NetScaler CPX.
-
¿Por qué el servidor de licencias no está configurado incluso cuando NetScaler CPX se implementa con la variable de entorno
LS_IP=<ADM-IP>?Asegúrese de que el servidor de licencias sea accesible desde el nodo en el que está implementado NetScaler CPX. Puede usar el comando
ping <ADM-IP>para verificar la conectividad desde el nodo NetScaler CPX a Citrix ADM.Si Citrix ADM es accesible desde el nodo, debe verificar los registros de configuración del servidor de licencias en el archivo /cpx/log/boot.log. También puede comprobar la configuración del servidor de licencias utilizando el siguiente comando en la interfaz de shell del pod de NetScaler CPX:
cli_script.sh "show licenseserver"Ejemplo:
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 -
¿Por qué no se configura la licencia agrupada en NetScaler CPX incluso después de una configuración exitosa del servidor de licencias en NetScaler CPX?
verificar los registros de configuración de licencias en el archivo /cpx/log/boot.log. También puede verificar la licencia agrupada configurada en NetScaler CPX utilizando el siguiente comando en la interfaz de shell del pod de NetScaler CPX:
cli_script.sh “show capacity”Ejemplo,
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 DoneAdemás, asegúrese de que los archivos de licencia necesarios se hayan cargado en el servidor de licencias. También puede verificar las licencias disponibles en el servidor de licencias una vez que se haya configurado correctamente en NetScaler CPX utilizando el siguiente comando. Ejecute el comando en la interfaz de shell del pod de NetScaler CPX:
cli_script.sh “sh licenseserverpool”Ejemplo:
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--> -
¿Por qué las llamadas a la API de NITRO reciben una respuesta de Conexión rechazada de NetScaler CPX?
El puerto predeterminado para las API de NITRO es 9080 (no seguro) y 9443 (seguro) a partir de la versión 12.1 de NetScaler CPX. Asegúrese de que el puerto NITRO de NetScaler CPX al que intenta acceder esté expuesto en el pod. Puede ejecutar el comando
kubectl describepara ver el puerto expuesto y mapeado del contenedor NetScaler CPX en la sección del contenedor NetScaler CPX:kubectl describe pods <pod-name> | grep -i portEjemplo:
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--> -
¿Por qué el proceso NSPPE en NetScaler CPX consume la mayor parte del uso de la CPU incluso cuando hay poco o ningún tráfico?
Si NetScaler CPX se implementa con la variable de entorno
CPX_CONFIG=’{“YIELD”:”NO”}', el proceso NSPPE consume el 100 por ciento del uso de la CPU incluso cuando hay poco o ningún tráfico. Si no desea que el proceso NSPPE consuma el uso de la CPU, debe implementar NetScaler CPX sin la variable de entornoCPX_CONFIG=’{“YIELD”:”NO”}. Por defecto, el proceso NSPPE en CPX está configurado para no acaparar ni consumir el uso de la CPU. -
¿Por qué NetScaler CPX no aparece en Citrix ADM incluso cuando se implementó con las variables de entorno necesarias para el registro en Citrix ADM?
Puede encontrar los registros para el registro de NetScaler CPX con Citrix ADM en el archivo /cpx/log/boot.log en el sistema de archivos de NetScaler CPX.
Puede verificar la accesibilidad de la dirección IP de Citrix ADM desde el pod de NetScaler CPX usando el comando
ping. Además, asegúrese de que todas las variables de entorno necesarias para el registro de Citrix ADM estén configuradas para el contenedor de 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 (La dirección IP del pod de NetScaler CPX no es enrutable desde el exterior.)
- NS_MGMT_SERVER=
-
¿Por qué
cli_script.shmuestra el mensaje de error Nombre de usuario o contraseña no válidos después de cambiar la contraseña del usuario nsroot?El comando
cli_script.shes una utilidad envoltorio para NSCLI en NetScaler CPX. Ejecuta el primer argumento como cadena de comando o ruta de archivo y el segundo argumento es opcional, que son las credenciales. Si se cambia la contraseña del usuario nsroot, debe proporcionar las credenciales como segundo argumento acli_script.sh. Puede ejecutar el siguiente comando para ejecutar NSCLI con credenciales:cli_script.sh “<command>” “:<username>:<password>”Ejemplo:
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