Resuelve problemas de límite de recursos en Cloud Service Mesh

En esta sección, se explican los problemas comunes de Cloud Service Mesh y cómo solucionarlos. Si necesitas asistencia adicional, consulta Obtén asistencia.

Los problemas de límite de recursos de Cloud Service Mesh pueden deberse a alguna de las siguientes causas:

  • Objetos LimitRange creados en el espacio de nombres istio-system o cualquier espacio de nombres con la inserción automática de sidecar habilitada
  • Límites definidos por el usuario que son demasiado bajos
  • Nodos que se quedaron sin memoria o sin otros recursos

Posibles síntomas de problemas de recursos:

  • Cloud Service Mesh no recibe de manera reiterada la configuración de istiod indicada por el error, Envoy proxy NOT ready. Ver este error algunas veces al inicio es normal, pero, si esto continúa repitiéndose, es un problema.
  • Hay problemas de Herramientas de redes con algunos Pods o nodos que se vuelven inaccesibles.
  • istioctl proxy-status muestra estados STALE en el resultado.
  • Hay mensajes OOMKilled en los registros de un nodo.
  • Uso de memoria de los contenedores: kubectl top pod POD_NAME --containers
  • Uso de memoria de los Pods dentro de un nodo: kubectl top node my-node
  • Envoy no tiene memoria: kubectl get pods muestra el estado OOMKilled en el resultado.

Los archivos adicionales de Istio tardan mucho en recibir la configuración

La propagación lenta de la configuración puede ocurrir debido a que no se asignan los recursos suficientes a istiod o a que el tamaño del clúster es demasiado grande.

Existen varias soluciones posibles para este problema:

  1. Si tus herramientas de supervisión (Prometheus, Stackdriver, etc.) muestran un alto uso de un recurso por parte de istiod, aumenta la asignación de ese recurso. Por ejemplo, aumenta el límite de CPU o memoria de la implementación de istiod. Esta es una solución temporal, y te recomendamos que investigues los métodos para reducir el consumo de recursos.

  2. Si encuentras este problema en un clúster o implementación de gran tamaño, configura Recursos de sidecar para reducir la cantidad de estado de configuración que se envía a cada proxy.

  3. Si el problema persiste, prueba el escalamiento horizontal de istiod.

  4. Si todos los demás para solucionar problemas no lo resuelven, informa un error que detalle tu implementación y los problemas observados. Si es posible, sigue estos pasos para incluir un perfil de CPU y memoria en el informe de errores, junto con una descripción detallada del tamaño del clúster, la cantidad de Pods, la cantidad de servicios, etcétera.