Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Cloud Container Engine/ Preguntas frecuentes/ Redes/ Network Fault/ ¿Cómo se localiza una falla de red de carga de trabajo?
Actualización más reciente 2023-08-08 GMT+08:00

¿Cómo se localiza una falla de red de carga de trabajo?

Proceso de solución de problemas

Los métodos de resolución de problemas se ordenan en función de la probabilidad de ocurrencia de las posibles causas. Se recomienda comprobar las posibles causas de alta probabilidad a baja probabilidad para localizar rápidamente la causa del problema.

Si la falla persiste después de rectificar una posible causa, compruebe otras posibles causas.

Concepto de comprobación 1: Contenedores y Puertos de Contenedores

Inicie sesión en la consola de CCE o use kubectl para consultar la dirección IP del pod. A continuación, inicie sesión en el nodo o contenedor del clúster y ejecute el comando curl para invocar manualmente a la API. Compruebe si se devuelve el resultado esperado.

Si no se puede acceder a la dirección IP de <container>:<port>, se recomienda iniciar sesión en el contenedor de la aplicación y acceder a <127.0.0.1>:<port> para localizar el error.

Problemas comunes:

  1. El puerto del contenedor está configurado incorrectamente (el contenedor no escucha el puerto de acceso).
  2. El URL no existe (no existe ninguna ruta relacionada en el contenedor).
  3. Se produce una excepción de servicio (un error de servicio en el contenedor).
  4. Compruebe si el componente del núcleo de red del clúster es anormal (modelo de red de túnel de contenedor: componente de núcleo openwitch; modelo de red VPC: componente de núcleo ipvlan).

Concepto de comprobación 2: Dirección IP del nodo y puerto del nodo

Solo se puede acceder a los servicios NodePort o LoadBalancer mediante la dirección IP del nodo y el puerto del nodo.

  • NodePort Services:

    El puerto de acceso de un nodo es el puerto expuesto externamente por el nodo.

  • LoadBalancer Service:

    Puede ver el puerto de nodo de un servicio de LoadBalancer editando el archivo YAML.

Ejemplo:

nodePort: 30637 indica el puerto del nodo expuesto. targetPort: 80 indica el puerto del pod expuesto. port: 123 es el puerto de servicio expuesto. LoadBalancer Services también utilizan este puerto para configurar el oyente de ELB.

Después de encontrar el puerto de nodo (nodePort), acceda a <IP address>:<port> del nodo donde se encuentra el contenedor y compruebe si se devuelve el resultado esperado.

Problemas comunes:

  1. El puerto de servicio no está permitido en las reglas entrantes del nodo.
  2. Una ruta personalizada está configurada incorrectamente para el nodo.
  3. La etiqueta del pod no coincide con la del Service (creado mediante kubectl o API).

Concepto de comprobación 3: Dirección IP y puerto ELB

Hay varias causas posibles si no se puede acceder a <IP address>:<port> del ELB, pero se puede acceder a <IP address>:<port> del nodo.

Causas posibles:

  • El grupo de servidores backend del puerto o URL no cumple con las expectativas.
  • El grupo de seguridad del nodo no ha expuesto el protocolo o puerto relacionado al ELB.
  • La comprobación de estado del equilibrio de carga de capa 4 no está habilitada.
  • El certificado utilizado para los servicios de equilibrio de carga de capa 7 ha caducado.

Problemas comunes:

  1. Al exponer un balanceador de carga ELB de capa 4, si no ha habilitado la comprobación de estado en la consola, el balanceador de carga puede enrutar solicitudes a nodos anormales.
  2. Para el acceso UDP, el puerto ICMP del nodo no se ha permitido en las reglas entrantes.
  3. La etiqueta del pod no coincide con la del Service (creado mediante kubectl o API).

Concepto de comprobación 4: Gateway de NAT + Puerto

Generalmente, no se configura ninguna EIP para el servidor backend de NAT. De lo contrario, pueden producirse excepciones tales como pérdida de paquetes de red.

Concepto de comprobación 5: Si el grupo de seguridad del nodo donde se encuentra el contenedor permite el acceso

Inicie sesión en la consola de gestión, seleccione Service List > Networking > Virtual Private Cloud. En la Consola de red, elija Access Control > Security Groups, busque la regla de grupo de seguridad del clúster de CCE y modifique y refuerce la regla de grupo de seguridad.

  • Clúster de CCE:

    El nombre del grupo de seguridad del nodo es {Cluster name}-cce-node-{Random characters}.

  • Clúster de CCE Turbo:

    El nombre del grupo de seguridad del nodo es {Cluster name}-cce-node-{Random characters}.

    El nombre del grupo de seguridad asociado a los contenedores es {Cluster name}-cce-eni-{Random characters}.

Comprobar los siguientes:

  • Dirección IP, puerto y protocolo de una solicitud externa para acceder a las cargas de trabajo del clúster. Se deben permitir en la regla de entrada del grupo de seguridad del clúster.
  • Dirección IP, puerto y protocolo de una solicitud de una carga de trabajo para visitar aplicaciones externas fuera del clúster. Se deben permitir en la regla de salida del grupo de seguridad del clúster.

Para obtener más información acerca de la configuración del grupo de seguridad, consulte Configuración de reglas de grupo de seguridad de clúster.