Résoudre les problèmes liés aux limites de ressources dans Cloud Service Mesh

{version_1.0.1 d

Cette section décrit les problèmes courants liés à Cloud Service Mesh et explique comment les résoudre. Si vous avez besoin d'une aide supplémentaire, consultez la page Obtenir de l'aide.

Les problèmes liés aux limites de ressources Cloud Service Mesh peuvent avoir les causes suivantes:

  • Il existe des objets LimitRange créés dans l'espace de noms istio-system ou dans tout espace de noms dans lequel l'injection side-car automatique est activée.
  • Les limites définies par l'utilisateur sont trop faibles.
  • Des nœuds ou d'autres ressources sont à court de mémoire.

Les symptômes potentiels des problèmes liés aux ressources sont les suivants :

  • Cloud Service Mesh ne reçoit pas à plusieurs reprises la configuration du plan de contrôle, indiquée par l'erreur Envoy proxy NOT ready. L'affichage de cette erreur à plusieurs reprises au démarrage est normal, mais peut poser problème dans le cas contraire.
  • Il existe des problèmes de mise en réseau avec certains pods ou nœuds qui deviennent inaccessibles.
  • istioctl proxy-status affiche les états STALE dans la sortie.
  • Des messages OOMKilled sont présents dans les journaux d'un nœud.
  • De la mémoire est utilisée par des conteneurs : kubectl top pod POD_NAME --containers.
  • De la mémoire est utilisée par des pods situés dans un nœud : kubectl top node my-node.
  • Envoy est à court de mémoire : kubectl get pods indique l'état OOMKilled dans la sortie.

Les side-cars mettent beaucoup de temps à recevoir la configuration

Un retard dans la propagation de la configuration peut se produire en raison de ressources insuffisantes allouées à istiod ou d'une taille de cluster trop importante.

Il existe plusieurs solutions pour résoudre ce problème :

  1. Pour le maillage de services Cloud Service intégré au cluster, si vos outils de surveillance (prometheus, Stackdriver, etc.) indiquent une utilisation élevée d'une ressource de istiod, augmentez l'allocation de cette ressource, par exemple en augmentant la limite de processeur ou de mémoire du déploiement istiod. Il s'agit d'une solution temporaire. Nous vous recommandons d'étudier les méthodes permettant de réduire la consommation de ressources.

  2. Si vous rencontrez ce problème dans un cluster ou un déploiement volumineux, réduisez la quantité d'états de configuration transmis à chaque proxy en configurant des ressources side-car.

  3. Pour le maillage de services Cloud Service intégré au cluster, si le problème persiste, essayez d'effectuer un scaling horizontal de istiod.

  4. Si toutes les autres étapes de dépannage ne vous permettent pas de résoudre le problème, signalez un bug indiquant votre déploiement et les problèmes observés. Suivez ces étapes pour inclure un profil de processeur/mémoire dans le rapport de bug si possible, ainsi qu'une description détaillée de la taille du cluster, du nombre de pods et du nombre de services.