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 explique comment les résoudre. Si vous avez besoin d'une aide supplémentaire, consultez la page Assistance.
Les problèmes liés aux limites de ressources dans Cloud Service Mesh peuvent avoir les causes suivantes :
- 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 à plusieurs reprises la configuration de
istiod
, indiquée par l'erreurEnvoy proxy NOT ready
. L'affichage de cette erreur à plusieurs reprises au démarrage est normal, mais est problématique par ailleurs. - 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.
La réception de la configuration des side-cars Istio prend beaucoup de temps
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 :
Si vos outils de surveillance (Prometheus, Stackdriver, etc.) montrent une utilisation intensive d'une ressource par
istiod
, augmentez l'allocation de cette ressource, par exemple en augmentant la limite de processeur ou de mémoire du déploiementistiod
. Cette solution est temporaire. Par conséquent, nous vous recommandons d'étudier les méthodes permettant de réduire la consommation de ressources.Si vous rencontrez ce problème dans un cluster/déploiement volumineux, réduisez la quantité d'états de configuration transmis à chaque proxy en configurant des ressources sidecar.
Si le problème persiste, essayez d'effectuer un scaling horizontal d'
istiod
.Si toutes les autres étapes de dépannage ne vous permettent pas de résoudre le problème, signalez un bug détaillant votre déploiement et les problèmes observés. Dans ce cas, 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, du nombre de services, etc.