Partager via


Résoudre les problèmes d’utilisation élevée du processeur dans les clusters AKS

Une utilisation élevée du processeur est un symptôme d’une ou plusieurs applications ou processus qui nécessitent tellement de temps processeur que les performances ou la facilité d’utilisation de l’ordinateur en sont affectées. Une utilisation élevée du processeur peut se produire de plusieurs façons, mais elle est principalement due à la configuration utilisateur.

Lorsqu’un nœud d’un cluster Azure Kubernetes Service (AKS) subit une utilisation élevée du processeur, les applications qui s’y exécutent peuvent subir une dégradation des performances et de la fiabilité. Les applications ou les processus deviennent également instables, ce qui peut entraîner des problèmes au-delà des réponses lentes.

Cet article vous aide à identifier les nœuds et les conteneurs qui consomment un processeur élevé et fournit les meilleures pratiques pour résoudre une utilisation élevée du processeur.

Symptômes

Le tableau suivant décrit les symptômes courants d’une utilisation élevée du processeur :

Symptôme Description
Épuisement du processeur Les applications gourmandes en ressources processeur ralentissent les autres applications sur le même nœud.
Changements d’état lents La préparation des pods peut prendre plus de temps.
État du nœud NotReady Un nœud passe à l’état NotReady . Ce problème se produit car le conteneur avec une utilisation élevée du processeur empêche l’outil en ligne de commande Kubectl de répondre.

Liste de pour la résolution des problèmes

Pour résoudre une utilisation élevée du processeur, utilisez des outils de supervision efficaces et appliquez les meilleures pratiques.

Étape 1 : identifier les nœuds/conteneurs avec une utilisation élevée du processeur

Utilisez l’une des méthodes suivantes pour identifier les nœuds et les conteneurs avec une utilisation élevée du processeur :

  • Dans un navigateur web, utilisez la fonctionnalité Container Insights d’AKS dans le Portail Azure.

  • Dans une console, utilisez l’outil en ligne de commande Kubernetes (kubectl).

Container Insights est une fonctionnalité d’AKS. Il est conçu pour surveiller les performances des charges de travail de conteneur. Vous pouvez utiliser Container Insights pour identifier les nœuds, les conteneurs ou les pods qui entraînent une utilisation élevée du processeur.

Pour identifier les nœuds, conteneurs ou pods qui entraînent une utilisation élevée du processeur, procédez comme suit :

  1. Accédez au cluster à partir du Portail Azure.

  2. Sous Surveillance, sélectionnez Insights.

    Capture d’écran de l’analyse sous Insights

  3. Définissez l’intervalle de temps approprié.

    Capture d’écran d’un intervalle de temps de six heures.

  4. Recherchez les nœuds avec une utilisation élevée du processeur et case activée si l’utilisation du processeur du nœud est stable.

    Sélectionnez Nœuds. Définissez Métrique sur Utilisation du processeur (millicores), puis définissez l’exemple sur Max. Utilisez la fonctionnalité de tri sur max pour classer les nœuds par Max%. Les nœuds avec l’utilisation la plus élevée du processeur s’affichent en haut.

    Dans la capture d’écran suivante, le nœud utilise uniquement 12 % du processeur maximal et s’exécute depuis 16 jours.

    Capture d’écran des nœuds sous la sélection Surveillance.

  5. Une fois que vous avez localisé les nœuds avec une utilisation élevée du processeur, sélectionnez les nœuds pour rechercher les pods sur eux et leur utilisation du processeur.

    Capture d’écran de l’option Insights pour les pods sous la sélection Surveillance.

    Remarque

    Le pourcentage d’utilisation du processeur ou de la mémoire pour les pods est basé sur la demande d’UC spécifiée pour le conteneur. Il ne représente pas le pourcentage d’utilisation du processeur ou de la mémoire pour le nœud. Par conséquent, examinez l’utilisation réelle du processeur ou de la mémoire plutôt que le pourcentage d’utilisation du processeur ou de la mémoire pour les pods.

    Une fois que vous avez obtenu la liste des pods avec une utilisation élevée du processeur, vous pouvez la mapper aux applications qui provoquent le pic d’utilisation du processeur.

Étape 2 : Passer en revue les meilleures pratiques pour éviter une utilisation élevée du processeur

Consultez le tableau suivant pour découvrir comment implémenter les meilleures pratiques pour éviter une utilisation élevée du processeur :

Meilleures pratiques Description
Définir les limites appropriées pour les conteneurs Kubernetes permet de spécifier des requêtes et des limites sur les ressources pour les conteneurs. Les demandes de ressources et les limites représentent le nombre minimal et maximal de ressources qu’un conteneur peut utiliser. Nous vous recommandons de définir les demandes et les limites appropriées pour choisir la classe De qualité de service (QoS) Kubernetes appropriée pour chaque pod.
Activer l’autoscaler de pod horizontal (HPA) La définition des limites appropriées ainsi que l’activation de HPA peuvent aider à résoudre une utilisation élevée du processeur.
Sélectionner des machines virtuelles de référence SKU supérieures Pour gérer des charges de travail de processeur élevées, utilisez des machines virtuelles de référence SKU plus élevées. Pour ce faire, créez un pool de nœuds, coupez les nœuds pour les rendre non planifiés et drainez le pool de nœuds existant.
Isoler les charges de travail système et utilisateur Nous vous recommandons de créer un pool de nœuds distinct (autre que le pool d’agents) pour exécuter vos charges de travail. Cela peut empêcher la surcharge du pool de nœuds système et fournir de meilleures performances.

References

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.