Partager via


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

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

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

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

Symptômes

Le tableau suivant présente les symptômes courants de l’utilisation élevée du processeur :

Symptôme Description
Faim du processeur Les applications nécessitant beaucoup d’UC ralentissent d’autres applications sur le même nœud.
Changements d’état lents Les pods peuvent prendre plus de temps pour se préparer.
État du nœud NotReady Un nœud entre dans l’état NotReady . Ce problème se produit parce que le conteneur avec une utilisation élevée du processeur entraîne l’absence de réponse de l’outil de ligne de commande Kubectl.

Liste de contrôle 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é dans 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 pilotent une utilisation élevée du processeur, procédez comme suit :

  1. Accédez au cluster à partir de la Portail Azure.

  2. Sous Supervision, 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 vérifiez si l’utilisation du processeur du nœud est stable.

    Sélectionner 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 apparaissent 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 des pods sur eux et leur utilisation du processeur.

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

    Note

    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 le 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

Passez en revue le tableau suivant pour savoir comment implémenter les meilleures pratiques pour éviter une utilisation élevée du processeur :

Bonne pratique 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 et limites de ressources représentent le nombre minimal et maximal de ressources qu’un conteneur peut utiliser. Nous vous recommandons de définir les demandes et limites appropriées pour choisir la classe Kubernetes Quality of Service (QoS) appropriée pour chaque pod.
Activer Horizontal Pod Autoscaler (HPA) La définition de 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 d’UC élevées, utilisez des machines virtuelles 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 videz 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.