Solución de problemas de NetScaler CPX
En este documento se explica cómo solucionar los problemas que puede encontrar al utilizar NetScaler CPX. Con este documento, puede recopilar registros para determinar las causas y aplicar soluciones para algunos de los problemas comunes relacionados con la instalación y la configuración de NetScaler CPX.
-
¿Cómo puedo ver los registros de NetScaler CPX?
Puede ver los registros de NetScaler CPX mediante el comando
kubectl logs
si 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>]
Por ejemplo,
kubectl logs cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc
A continuación, se muestra un ejemplo de la implementación de pods 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 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 shell del nodo principal 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
scp
okubectl cp
para 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é se bloquea el pod de NetScaler CPX durante el arranque?
Puede comprobar el estado del pod con 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-t8bgn
Si los eventos del pod muestran que el contenedor se inició, 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
/cpx
en el sistema de archivos del host. Si un contenedor NetScaler CPX sale de los volcados de núcleo, los registros y otros datos importantes están disponibles en el punto de montaje.Puede usar cualquiera de los siguientes comandos para copiar archivos entre el pod de NetScaler CPX y el nodo maestro de Kubernetes:
kubectl cp: Puede ejecutar este 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.log
scp: 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 pida la contraseña, proporcione la contraseña para el 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 shell de NetScaler CPX mediante el comando
kubectl exec
. Ejecute el siguiente comando para iniciar la interfaz shell del pod de NetScaler CPX:kubectl exec -it pod-name [-c container-name] [-n namespace-name] bash
Ejemplo:
kubectl exec -it cpx-ingress1-69b9b8c648-t8bgn -c cpx -n citrix-adc bash
Y ejecute el siguiente comando para iniciar la captura de paquetes:
cli_script.sh “start nstrace -size 0”
Si quiere 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 en el sistema de archivos 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 se pueda acceder al servidor de licencias desde el nodo en el que se implementa NetScaler CPX. Puede usar el comando
ping <ADM-IP>
para verificar la conectividad del nodo NetScaler CPX a Citrix ADM.Si se puede acceder a Citrix ADM 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 mediante el siguiente comando en la interfaz 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é la licencia agrupada no se configura en NetScaler CPX incluso después de una configuración correcta del servidor de licencias en NetScaler CPX?
Compruebe 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 mediante el siguiente comando en la interfaz shell del pod de NetScaler CPX:
cli_script.sh “show capacity”
Por 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 Done
Además, asegúrese de que los archivos de licencia requeridos se carguen 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 mediante el siguiente comando. Ejecute el comando en la interfaz 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 NITRO obtienen una respuesta de rechazo de conexión 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 en adelante. Asegúrese de que el puerto NITRO de NetScaler CPX al que intenta acceder esté expuesto en el pod. Puede ejecutar el comando
kubectl describe
para ver el puerto expuesto y asignado del contenedor NetScaler CPX en la sección contenedor NetScaler CPX:kubectl describe pods <pod-name> | grep -i port
Ejemplo:
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 no hay tráfico o hay poco tráfico?
Si NetScaler CPX se implementa con la variable de entorno
CPX_CONFIG=’{“YIELD”:”NO”}'
, el proceso NSPPE consume el 100 por ciento de uso de la CPU incluso cuando no hay tráfico o hay poco tráfico. Si quiere que el proceso NSPPE no consuma el uso de la CPU, debe implementar NetScaler CPX sin la variable de entornoCPX_CONFIG=’{“YIELD”:”NO”}
. De forma predeterminada, el proceso NSPPE en CPX está configurado para no acaparar ni consumir el uso de la CPU. -
¿Por qué NetScaler CPX no figura en Citrix ADM incluso cuando se implementó con las variables de entorno necesarias para registrarse en Citrix ADM?
Puede encontrar los registros para el registro de NetScaler CPX con Citrix ADM en el archivo /cpx/log/boot.log del sistema de archivos NetScaler CPX.
Puede comprobar la accesibilidad de la dirección IP de Citrix ADM desde el pod de NetScaler CPX mediante 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 NetScaler CPX.-
NS_MGMT_SERVER
: Especifica la dirección ADM-IP o el FQDN. -
HOST
: Especifica la dirección IP del nodo. -
NS_HTTP_PORT
: Especifica el puerto HTTP- asignado en el nodo. -
NS_HTTPS_PORT
: Especifica el puerto HTTPS asignado en el nodo. -
NS_SSH_PORT
: Especifica el puerto SSH asignado en el nodo. -
NS_SNMP_PORT
: Especifica el puerto SNMP asignado en el nodo. -
NS_ROUTABLE
: La dirección IP del pod de NetScaler CPX no se puede redirigir desde el exterior. -
NS_MGMT_USER
: Especifica el nombre de usuario de ADM. -
NS_MGMT_PASS
: Especifica la contraseña de ADM.
-
-
¿Por qué
cli_script.sh
se muestra un mensaje de error de nombre de usuario o contraseña no válidos después de cambiar la contraseña del usuario nsroot?El comando
cli_script.sh
es una utilidad de envoltura para NSCLI en NetScaler CPX. Ejecuta el primer argumento como cadena de comandos 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 credenciales como segundo argumento paracli_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
-
¿Por qué falla SSH a NetScaler CPX con un usuario
root
ynsroot
?A partir de la versión 13.0-64.35, NetScaler CPX genera una contraseña predeterminada y la actualiza para los usuarios SSH,
root
ynsroot
. Si no ha cambiado la contraseña manualmente, la contraseña para los usuarios de SSH se puede encontrar/var/deviceinfo/random_id
en el sistema de archivos de NetScaler CPX.