Soluciona problemas paso a paso de la malla de servicios de Cloud

En esta sección, se explica cómo solucionar y resolver problemas al usar la malla de servicios en la nube. Si necesitas asistencia adicional, consulta Obtén asistencia.

Pasos para solucionar problemas

Sigue estos pasos generales para solucionar problemas de Cloud Service Mesh:

  1. Usa las herramientas automatizadas de validación de configuración.
  2. Comprueba si tienes un problema común con una solución conocida.
  3. Limita el alcance del problema.
  4. Revisa la información y los registros relevantes.
  5. Recopila registros de diagnóstico y busca ayuda.

La herramienta de diagnóstico de Cloud Service Mesh puede detectar parámetros de configuración problemas. Instala la herramienta de solución de problemas con estos instrucciones.

Antes de comenzar

  1. Asegúrate de que el contexto de kubeconfig para tu clúster esté disponible en tu kubeconfig. De lo contrario, ejecuta el siguiente comando:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location=CLUSTER_LOCATION --project=PROJECT_NAME
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: El nombre de tu clúster.
    • CLUSTER_LOCATION: Es la zona o región de tu clúster.
    • PROJECT_NAME: Nombre del proyecto.
  2. Verifica que el campo Application Default Credentials de seguridad. De lo contrario, ejecuta uno de los siguientes comandos:

    gcloud auth application-default login --billing-project=PROJECT_NAME
    
    gcloud auth application-default set-quota-project PROJECT_NAME
    

    Reemplaza PROJECT_NAME por el nombre de tu proyecto.

Visualiza el estado del plano de control

Los siguientes comandos pueden ayudarte a comprender el estado de la Plano de control de la malla de servicios de Cloud:

Administrado

  • Obtén la lista de los estados de conexión de los clientes al plano de control de Cloud Service Mesh:

    gcloud beta container fleet mesh debug proxy-status \
        --membership=MEMBERSHIP_NAME \
        --location=MEMBERSHIP_LOCATION \
        --project=PROJECT_NAME
    

    Reemplaza lo siguiente:

    • MEMBERSHIP_NAME: Es el nombre de tu membresía.
    • MEMBERSHIP_LOCATION: Es la región de tu membresía. Puedes verificar la ubicación de tu membresía con gcloud container fleet memberships list --project FLEET_PROJECT_ID y reemplaza FLEET_PROJECT_ID por el proyecto de flota. ID.
    • PROJECT_NAME: Nombre del proyecto.

    En la siguiente tabla, se describen las posibles respuestas.

    DESCONOCIDO (Predeterminado) ⁣La información del estado no está disponible o se desconoce.
    SYNCED El plano de control envió la configuración al cliente y recibió un ACK del cliente.
    ERROR ⁣El plano de control envió la configuración al cliente y recibió un NACK del cliente.
    INACTIVA El plano de control envió la configuración al cliente, pero no recibió un ACK o un NACK del cliente.
    NO ENVIADO No se envió la configuración.
    N/A No aplicable
    No compatible El estado de la sincronización no es compatible con nuestra API de solución de problemas.

En el clúster

  • kubectl get pods -n istio-system
  • kubectl describe -n istio-system
  • Para todos los pods de istio-system: kubectl logs -n istio-system -l istio --all-containers
  • istioctl version
  • istioctl proxy-status
  • kubectl get configmap istio -o yaml && kubectl get configmap istio-sidecar-injector -o yaml
  • kubectl top pods -n istio-system

Usa los siguientes comandos para obtener información sobre el escalamiento de la implementación:

  • kubectl get nodes
  • kubectl get services --all-namespaces
  • kubectl get pods --all-namespaces

Ver parámetros de configuración del proxy

El siguiente comando puede ayudarte a comprender el proxy de Cloud Service Mesh parámetros de configuración:

Administrado

gcloud beta container fleet mesh debug proxy-config POD_NAME.NAMESPACE \ 
    --type=TYPE \
    --membership=MEMBERSHIP_NAME \
    --location=MEMBERSHIP_LOCATION \
    --project=PROJECT_NAME
  • POD_NAME: es el nombre del Pod.
  • NAMESPACE: es el espacio de nombres del Pod.
  • TYPE: Una de las siguientes opciones: clúster, objetos de escucha, rutas, extremos, arranque, registro, secreto, todos.
  • MEMBERSHIP_NAME: Es el nombre de tu membresía.
  • MEMBERSHIP_LOCATION: Es la región de tu membresía. Puedes verificar la ubicación de tu membresía con gcloud container fleet memberships list --project FLEET_PROJECT_ID y reemplaza FLEET_PROJECT_ID por el proyecto de flota. ID.
  • PROJECT_NAME: Nombre del proyecto.

En el clúster

Usa istioctl proxy-config para ver la configuración del proxy en el clúster. planos de control. Para obtener más información, consulta Cómo depurar Envoy e istiod.

Si el problema persiste, consulta la siguiente sección para verificar si el problema ya es conocido.

Verifica problemas y soluciones comunes

Puede ahorrar tiempo revisando si sus síntomas coinciden con alguno de estos problemas comunes problemas y resoluciones, agrupados por funciones de la malla de servicios de Cloud área:

Si esto no resuelve el problema, consulta la siguiente sección.

Limita el alcance del problema

La malla de servicios de Cloud consta de varias tecnologías que trabajan juntas, lo que significa que ciertos tipos de problemas están asociados con áreas funcionales particulares o componentes. Cada uno de estos componentes genera registros propios útiles. Antes de intentar analizar de forma manual el volumen de la información que proporcionan, puedes responder las siguientes preguntas para limitar el alcance de la solución de problemas:

  • ¿El problema se produce dentro del plano de control o del plano de datos, por ejemplo, en los proxies istiod o Envoy?
  • ¿En qué área funcional experimentas el problema, por ejemplo, en las herramientas de redes, la telemetría, la seguridad, etcétera?
  • ¿Existe una pérdida de tráfico en la malla de servicios o en una implementación específica?
  • ¿El problema aparece o empeora debido a la imposibilidad de escalar tráfico en la malla de servicios?
  • ¿Hay problemas de latencia o de rendimiento?
  • ¿Puedes reproducir el problema a pedido?
  • ¿El problema comenzó después de un cambio de configuración reciente en Istio, GKE, etcétera?
  • ¿Hay un aumento prolongado o repentino en el tráfico dentro de la malla de servicios?
  • ¿Este clúster tiene funciones notables habilitadas o implementaciones que no son típicas?
  • ¿Observas un uso elevado de memoria o CPU? Si es así, ¿cuál es el uso esperado a gran escala?
  • ¿Existen restricciones de cuota para tener en cuenta?

Revisa la información y los registros relevantes

Después de limitar el alcance del problema, podrás enfocarte en la información y los registros de manera más eficaz. Para conocer los registros que Cloud Service Mesh genera y cómo interpretar la información que contienen, consulta Interpreta los registros de Cloud Service Mesh.