Résoudre les problèmes liés aux limites de ressources dans Cloud Service Mesh
Cette section décrit les problèmes courants liés à Cloud Service Mesh et comment les résoudre. Si vous avez besoin d'une aide supplémentaire, consultez la page Obtenir de l'aide.
Les problèmes de limite de ressources Cloud Service Mesh peuvent être causés par l'un des éléments suivants:
- Il existe des objets
LimitRange
créés dans l'espace de nomsistio-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 de configuration répétée du plan de contrôle indiqué par l'erreur
Envoy proxy NOT ready
. Voir cette erreur plusieurs fois au démarrage est normale, mais c'est un problème dans les autres cas. - Il existe des problèmes de mise en réseau avec certains pods ou nœuds qui deviennent inaccessibles.
istioctl proxy-status
affiche les étatsSTALE
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'étatOOMKilled
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 :
Pour le maillage de services Cloud dans le 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, augmentez la limite de processeur ou de mémoire du déploiement deistiod
). Il s'agit d'une solution temporaire. Nous vous recommandons d'étudier les méthodes de réduction de la consommation de ressources.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.
Pour Cloud Service Mesh dans le cluster, si le problème persiste, essayez d'effectuer un scaling horizontal de
istiod
.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 si possible un profil de processeur/mémoire dans le rapport de bug, ainsi qu'une description détaillée de la taille du cluster, du nombre de pods et du nombre de services.