Solución de problemas de Citrix ADC CPX

En este documento se explica cómo solucionar los problemas que puede encontrar al utilizar Citrix ADC 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 Citrix ADC CPX.

  • ¿Cómo puedo ver los registros CPX de Citrix ADC?

    Puede ver los registros de Citrix ADC CPX mediante el comando kubectl logs si Citrix ADC CPX se implementa con la opción tty: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 Citrix ADC 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 Citrix ADC 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 Citrix ADC CPX?

    Puede ejecutar el siguiente comando en la interfaz shell del nodo principal de Kubernetes para recopilar el paquete de soporte técnico de Citrix ADC 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 Citrix ADC CPX. Use scp o kubectl cp para copiar el paquete de soporte técnico de Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 Citrix ADC CPX?

    Para capturar paquetes en Citrix ADC CPX, inicie la interfaz shell de Citrix ADC CPX mediante el comando kubectl exec. Ejecute el siguiente comando para iniciar la interfaz shell del pod de Citrix ADC 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 Citrix ADC CPX.

  • ¿Por qué el servidor de licencias no está configurado incluso cuando Citrix ADC 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 Citrix ADC CPX. Puede usar el comando ping <ADM-IP> para verificar la conectividad del nodo Citrix ADC 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 Citrix ADC 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 Citrix ADC CPX incluso después de una configuración correcta del servidor de licencias en Citrix ADC 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 Citrix ADC CPX mediante el siguiente comando en la interfaz shell del pod de Citrix ADC 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 Citrix ADC CPX mediante el siguiente comando. Ejecute el comando en la interfaz shell del pod de Citrix ADC 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 Citrix ADC 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 Citrix ADC CPX en adelante. Asegúrese de que el puerto NITRO de Citrix ADC 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 Citrix ADC CPX en la sección contenedor Citrix ADC 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 Citrix ADC CPX consume la mayor parte del uso de la CPU incluso cuando no hay tráfico o hay poco tráfico?

    Si Citrix ADC 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 Citrix ADC CPX sin la variable de entorno CPX_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é Citrix ADC CPX no ilustración 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 Citrix ADC CPX con Citrix ADM en el archivo /cpx/log/boot.log del sistema de archivos Citrix ADC CPX.

    Puede comprobar la accesibilidad de la dirección IP de Citrix ADM desde el pod de Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 Citrix ADC 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 para cli_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 Citrix ADC CPX con un usuario root y nsroot?

    A partir de la versión 13.0-64.35, Citrix ADC CPX genera una contraseña predeterminada y la actualiza para los usuarios SSH, root y nsroot. 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 Citrix ADC CPX.

Solución de problemas de Citrix ADC CPX

En este artículo