Partager via


Superviser les performances de votre cluster Kubernetes avec Container Insights

Utilisez les classeurs, graphiques de performances et l’état d’intégrité dans Container Insights pour surveiller la charge de travail de vos clusters Kubernetes hébergés sur Azure Kubernetes Service (AKS), Azure Stack ou un autre environnement. Cet article vous aide à comprendre comment utiliser Azure Monitor pour évaluer, investiguer et résoudre rapidement les problèmes détectés.

Cahiers d'exercices

Les classeurs regroupent du texte, des requêtes de journal, des métriques et des paramètres au sein de rapports interactifs complets que vous pouvez utiliser pour analyser le niveau de performance des clusters. Pour obtenir une description des classeurs disponibles pour Container Insights et savoir comment y accéder, consultez Classeurs dans Container Insights.

Vue multicluster à partir d’Azure Monitor

Azure Monitor fournit une vue multicluster qui affiche l’état d’intégrité de tous les clusters Kubernetes surveillés déployés dans les groupes de ressources de vos abonnements. Avec cet affichage, vous pouvez immédiatement comprendre l’intégrité du cluster, puis explorer le nœud et la page de performances du contrôleur, ou naviguer pour voir les graphiques de performances du cluster. Pour les clusters détectés et identifiés comme non surveillés, vous pouvez activer la surveillance à partir de la vue.

Notes

Azure Stack (en préversion) et les solutions hors-Azure (en préversion) ne sont plus pris en charge dans cet affichage.

Pour accéder à la vue multi-cluster, sélectionnez Surveiller dans le volet gauche du portail Azure. Dans la section Insights , sélectionnez Conteneurs.

Capture d’écran montrant un exemple de tableau de bord multi-cluster Azure Monitor.

Sous l’onglet Clusters supervisés , vous allez découvrir les éléments suivants :

  • Combien de clusters se trouvent dans un état critique ou non sain, et combien sont sains ou ne rapportent aucune donnée (état inconnu).
  • Combien de nœuds et de pods utilisateur et système sont déployés par cluster.

Les états d’intégrité inclus sont :

  • Critique : un ou plusieurs problèmes critiques sont détectés qui doivent être résolus pour restaurer l’état opérationnel normal comme prévu.
  • Avertissement : Un ou plusieurs problèmes ont été détectés et doivent être résolus, sinon l'état de santé pourrait devenir critique.
  • Non autorisé : l’utilisateur n’a pas les autorisations requises pour lire les données dans l’espace de travail ou la règle de collecte de données.
  • Introuvable : l’espace de travail, le groupe de ressources ou l’abonnement qui contient l’espace de travail a été supprimé.
  • Activer les règles d’enregistrement : activez les règles d’enregistrement Prometheus pour déverrouiller des données de performances plus élevées et des visualisations Prometheus.
  • Mal configuré : Quelque chose s’est mal passé.
  • Erreur : une erreur s’est produite lors de la tentative de lecture des données à partir de l’espace de travail.
  • Aucune donnée : les données n’ont pas été signalées à l’espace de travail au cours des 30 dernières minutes.
  • Inconnu : si le service n’a pas pu établir de connexion avec le nœud ou le pod, l’état passe à un état inconnu.
  • Sain : aucun problème n’est détecté pour la machine virtuelle et fonctionne comme nécessaire.
  • En attente : La configuration de la surveillance des clusters avec Arc prend généralement environ 5 minutes. Si le cluster est déconnecté d’Azure, ce processus peut être retardé.
  • En attente pendant X heures : la configuration de surveillance du cluster avec Arc prend plus de temps que prévu.
  • Échec : la configuration de la surveillance du cluster activé avec Arc a échoué.

L’état de santé évalue l’état global du cluster en tant que le pire des trois états, à une exception près. Si l’un des trois états est Inconnu, l’état global du cluster indique Inconnu.

Le tableau suivant fournit une répartition du calcul pour le contrôle des états d’intégrité pour un cluster surveillé sur la vue multicluster.

Cluster supervisé Statut Disponibilité
Pod utilisateur Sain
Avertissement
Critique
Inconnu
100 %
90 - 99 %
<90 %
Non signalé dans les 30 dernières minutes
Pod système Sain
Avertissement
Critique
Inconnu
100 %
N/A
100 %
Non signalé dans les 30 dernières minutes
Nœud Sain
Avertissement
Critique
Inconnu
>85 %
60 - 84 %
<60 %
Non signalé dans les 30 dernières minutes

Dans la liste des clusters, vous pouvez accéder à la page Vue d’ensemble des clusters AKS et Cluster pour les clusters avec Arc en sélectionnant le nom du cluster. Accédez ensuite à la page des performances des nœuds en sélectionnant l'ensemble des nœuds dans la colonne Nœuds pour ce cluster spécifique. Vous pouvez également descendre dans la hiérarchie jusqu’à la page de performances Contrôleurs en sélectionnant le cumul de la colonne Pods utilisateur ou Pods système.

Afficher les performances directement à partir d’un cluster

L’accès à Container Insights est disponible directement à partir d’un cluster AKS en sélectionnant Surveiller dans le volet gauche ou lorsque vous sélectionnez un cluster dans la vue multi-cluster. Pour plus d’informations sur Insights, consultez les visualisations Prometheus gérées dans Azure Monitor.

Afficher les métriques du conteneur dans Metrics Explorer

Dans Metrics Explorer, vous pouvez afficher les métriques agrégées d’utilisation de pod et de nœud de Container Insights. Le tableau suivant récapitule les détails pour vous aider à comprendre comment utiliser les graphiques de métrique pour visualiser les métriques des conteneurs.

Espace de noms Métrique Descriptif
insights.container/nodes
cpuUsageMillicores Mesure agrégée de l’utilisation du processeur sur le cluster. Il s’agit d’un cœur de processeur divisé en 1 000 unités (millisecondes = 1 000). Utilisé pour déterminer l’utilisation des cœurs dans un conteneur où de nombreuses applications peuvent utiliser un seul cœur.
pourcentage d'utilisation du processeur Utilisation du processeur moyenne agrégée, mesurée en pourcentage sur le cluster.
memoryRssBytes Mémoire RSS du conteneur utilisée, en octets.
memoryRssPercentage Mémoire RSS du conteneur utilisée, en pourcentage.
memoryWorkingSetBytes Mémoire de plage de travail du conteneur utilisée.
memoryWorkingSetPercentage Mémoire de plage de travail du conteneur utilisée, en pourcentage.
nombreDeNœuds Nombre de nœuds fournis par Kubernetes.
insights.container/pods
PodCount Nombre de pods fournis par Kubernetes.

Vous pouvez fractionner une métrique pour l’afficher par dimension et visualiser la façon dont les différents segments de celui-ci sont comparés les uns aux autres. Pour un nœud, vous pouvez segmenter le graphique par la dimension hôte . À partir d’un pod, vous pouvez le segmenter par les dimensions suivantes :

  • Contrôleur
  • Espace de noms Kubernetes
  • Nœud
  • Étape

Analyser l’intégrité des conteneurs, des contrôleurs et des nœuds

Lorsque vous basculez vers les onglets Nœuds, Contrôleurs et Conteneurs , un volet de propriétés s’affiche automatiquement sur le côté droit de la page. Il présente les propriétés de l’élément sélectionné, notamment les étiquettes que vous définissez pour organiser les objets Kubernetes. Lorsqu’un nœud Linux est sélectionné, la section Capacité de disque local affiche également l’espace disque disponible et le pourcentage utilisé pour chaque disque présenté au nœud. Sélectionnez le lien >> dans le volet pour afficher ou masquer celui-ci.

Quand vous développez les objets dans la hiérarchie, le volet des propriétés est mis à jour en fonction de l’objet sélectionné. Dans le volet, vous pouvez également afficher les journaux de conteneur Kubernetes (stdout/stderror), les événements et les métriques de pod en sélectionnant l’onglet Événements en direct en haut du volet. Pour plus d’informations sur la configuration requise pour accorder et contrôler l’accès pour afficher ces données, consultez Configurer live Data.

Lorsque vous consultez des ressources de cluster, vous pouvez voir ces informations en temps réel. Pour plus d’informations sur cette fonctionnalité, consultez Comment afficher les journaux Kubernetes, les événements et les métriques de pod en temps réel.

Pour afficher les données de journal Kubernetes stockées dans votre espace de travail en fonction des recherches de journaux prédéfinies, sélectionnez Afficher les journaux de conteneur dans la liste déroulante Affichage dans l’analytique . Pour plus d’informations, consultez Comment interroger les journaux d’activité à partir de Container Insights.

Utilisez l’option + Ajouter un filtre en haut de la page pour filtrer les résultats de l’affichage par service, nœud, espace de noms ou pool de nœuds. Après avoir sélectionné l’étendue du filtre, sélectionnez l’une des valeurs affichées dans le champ Sélectionner des valeurs . Une fois que le filtre est configuré, il est appliqué globalement lors de l’affichage de n’importe quel point de vue du cluster AKS. La formule prend uniquement en charge le signe égal. Vous pouvez ajouter plus de filtres en plus du premier pour affiner davantage vos résultats. Par exemple, si vous spécifiez un filtre par nœud, vous ne pouvez sélectionner service ou espace de noms que pour le deuxième filtre.

La spécification d’un filtre dans un onglet continue d’être appliquée quand vous en sélectionnez un autre. Il est supprimé après avoir sélectionné le symbole x en regard du filtre spécifié.

Basculez vers l’onglet Nœuds et la hiérarchie de lignes suit le modèle objet Kubernetes, qui commence par un nœud dans votre cluster. Développez le nœud pour voir les pods qui y sont actuellement exécutés. Si plusieurs conteneurs sont regroupés dans un pod, ils sont affichés comme la dernière ligne de la hiérarchie. Vous pouvez également voir le nombre de charges de travail non associées à un pod qui sont actuellement exécutées sur l’ordinateur hôte si le processeur ou la mémoire de l’hôte sont très sollicités.

Capture d’écran montrant un exemple de hiérarchie de nœuds Kubernetes dans la vue de performances.

Les conteneurs Windows Server qui exécutent le système d’exploitation Windows Server 2019 sont affichés après tous les nœuds basés sur Linux dans la liste. Lorsque vous développez un nœud Windows Server, vous pouvez afficher un ou plusieurs pods et conteneurs en cours d’exécution sur le nœud. Une fois qu’un nœud est sélectionné, le volet Propriétés affiche les informations de version.

Capture d’écran montrant un exemple de hiérarchie de nœuds avec des nœuds Windows Server répertoriés.

Les nœuds virtuels Azure Container Instances qui exécutent le système d’exploitation Linux sont affichés après le dernier nœud de cluster AKS sur la liste. Lorsque vous développez un nœud Container Instances, vous pouvez afficher un ou plusieurs pods et conteneurs Container Instances en cours d’exécution sur le nœud. Les métriques ne sont pas collectées et signalées pour les nœuds, uniquement pour les pods.

Capture d’écran montrant un exemple de hiérarchie de nœuds avec Des instances de conteneur répertoriées.

À partir d’un nœud développé, vous pouvez explorer le pod ou le conteneur qui s’exécute sur le nœud jusqu’au contrôleur pour afficher les données de performances filtrées pour ce contrôleur. Sélectionnez la valeur sous la colonne Contrôleur pour le nœud spécifique.

Capture d’écran montrant la descente dans la hiérarchie du nœud au contrôleur dans la vue des performances.

Sélectionnez des contrôleurs ou des conteneurs en haut de la page pour examiner l’état et l’utilisation des ressources pour ces objets. Pour passer en revue l’utilisation de la mémoire, dans la liste déroulante Métriques , sélectionnez Mémoire RSS ou Jeu de travail mémoire. La mémoire RSS est prise en charge uniquement pour Kubernetes version 1.8 et ultérieure. Sinon, vous affichez les valeurs de Min % en tant que naN %, qui est une valeur de type de données numérique qui représente une valeur non définie ou non répérée.

Capture d’écran montrant une vue des performances des nœuds de conteneur.

Le jeu de travail de mémoire affiche à la fois la mémoire résidente et la mémoire virtuelle (y compris le cache) et représente l'ensemble de ce que l'application utilise. La mémoire RSS affiche uniquement la mémoire principale, qui n’est qu’une mémoire résidente. Cette métrique montre la capacité réelle de la mémoire disponible. Quelle est la différence entre la mémoire résidente et la mémoire virtuelle ?

  • La mémoire résidente ou la mémoire principale est la quantité réelle de mémoire de l’ordinateur disponible pour les nœuds du cluster.
  • La mémoire virtuelle est réservée à l’espace disque (cache) utilisé par le système d’exploitation pour échanger des données de la mémoire vers le disque en cas de sollicitation de la mémoire, puis la récupérer en mémoire si nécessaire.

Par défaut, les données de performances sont basées sur les six dernières heures, mais vous pouvez modifier la fenêtre à l’aide de l’option TimeRange en haut à gauche. Vous pouvez également filtrer les résultats dans l’intervalle de temps en sélectionnant Min, Avg, 50th, 90th, 95th et Max dans le sélecteur de centile.

Capture d’écran montrant une sélection de centile pour le filtrage des données.

Lorsque vous pointez sur le graphique à barres sous la colonne Tendance , chaque barre affiche l’utilisation du processeur ou de la mémoire, selon la métrique sélectionnée, dans un exemple de période de 15 minutes. Après avoir sélectionné le graphique de tendances à l’aide d’un clavier, utilisez la combinaison Alt + Pg. préc ou Alt + Pg. suiv pour parcourir chaque barre individuellement. Vous obtenez les mêmes détails, comme vous le feriez en pointant sur la barre.

Capture d’écran montrant un exemple de survol d’un graphique à barres de tendance.

Dans l’exemple suivant, pour le premier nœud de la liste, aks-nodepool1-, la valeur des conteneurs est 25. Il s’agit du cumul du nombre de conteneurs déployés.

Capture d’écran montrant un exemple de cumul de conteneurs par nœud.

Cette information peut vous aider à déterminer rapidement si le nombre de conteneurs est bien réparti entre les nœuds de votre cluster.

Les informations présentées lorsque vous affichez l’onglet Nœuds sont décrites dans le tableau suivant.

Colonne Descriptif
Nom Nom de l’hôte.
Statut Vue Kubernetes de l’état du nœud.
Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % Pourcentage moyen du nœud basé sur le centile durant la période spécifiée.
Min, Avg (Moy), 50th (50e), 90th (90e), 95th (95e), Max Valeur réelle moyenne des nœuds basée sur le centile durant la période spécifiée. La valeur moyenne est mesurée à partir de la limite de processeur/mémoire définie pour un nœud. Pour les pods et les conteneurs, il s’agit de la valeur moyenne indiquée par l’hôte.
Conteneurs Nombre de conteneurs.
Durée de bon fonctionnement Indique le temps écoulé depuis le démarrage ou le redémarrage d’un nœud.
Contrôleur Uniquement pour les conteneurs et les pods. Indique le contrôleur dans lequel l’élément réside. Tous les pods ne sont pas dans un contrôleur. Certains peuvent donc afficher N/A.
Tendance Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % La tendance du graphique à barres indique la métrique de centile en pourcentage du contrôleur.

Vous remarquerez peut-être une charge de travail après le développement d’un nœud nommé Autre processus. Il représente les processus non placés dans des conteneurs qui s’exécutent sur votre nœud, et comprend les éléments suivants :

  • Processus non conteneurisés auto-managés ou Kubernetes managés.
  • Processus à l’exécution du conteneur.
  • Kubelet.
  • Processus système en cours d’exécution sur votre nœud.
  • Autres charges de travail non-Kubernetes en cours d’exécution sur le matériel ou la machine virtuelle du nœud.

Elle est calculée par l’utilisation totale de C Advisor - Usage à partir du processus conteneurisé.

Dans le sélecteur, sélectionnez Contrôleurs.

Capture d’écran montrant la sélection des contrôleurs.]

Ici, vous pouvez afficher l’intégrité des performances de vos contrôleurs ainsi que les contrôleurs de nœuds virtuels Container Instances ou les pods de nœuds virtuels non connectés à un contrôleur.

Capture d’écran montrant une vue de performances des contrôleurs \<Name> .

La hiérarchie de ligne commence par un contrôleur. Développer un contrôleur permet d’afficher un ou plusieurs pods. Développez un pod : vous voyez que la dernière ligne affiche le conteneur lié à un pod. À partir d’un contrôleur développé, vous pouvez explorer jusqu’au nœud en cours d’exécution pour afficher les données de performances filtrées pour ce nœud. Les pods Container Instances non connectés à un contrôleur sont répertoriés à la fin de la liste.

Capture d’écran montrant un exemple de hiérarchie de contrôleurs avec des pods Container Instances répertoriés.

Sélectionnez la valeur sous la colonne Nœud du contrôleur spécifique.

Capture d’écran montrant un exemple d’exploration du contrôleur vers le nœud dans la vue de performances.

Les informations qui sont affichées dans les contrôleurs sont décrites dans le tableau suivant.

Colonne Descriptif
Nom Nom du contrôleur.
Statut État du cumul des conteneurs lorsqu’il a fini de s’exécuter, avec par exemple l’état, OK, Terminé, Échec, Arrêté ou En pause. Si le conteneur est en cours d’exécution, mais que l’état n’est pas correctement affiché, ou n’a pas été récupéré par l’agent et n’a pas répondu dans un délai de 30 minutes, l’état est Inconnu. Plus de détails sur l’icône d’état sont fournis dans le tableau suivant.
Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % Moyenne cumulée du pourcentage moyen de chaque entité pour la métrique et le centile sélectionnés.
Min, Avg (Moy), 50th (50e), 90th (90e), 95th (95e), Max Cumul de la performance moyenne du processeur ou de la mémoire du conteneur pour le centile sélectionné. La valeur moyenne est mesurée à partir de la limite Processeur/Mémoire définie pour un pod.
Conteneurs Nombre total de conteneurs pour le contrôleur ou pod.
Redémarrages Cumul du nombre de redémarrages à partir des conteneurs.
Durée de bon fonctionnement Indique le temps écoulé depuis le démarrage d’un conteneur.
Nœud Uniquement pour les conteneurs et les pods. Indique le contrôleur dans lequel l’élément réside.
Tendance Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % La tendance du graphique à barres indique la métrique de centile du contrôleur.

Les icônes dans le champ d’état indiquent le statut en ligne des conteneurs.

Icône Statut
Icône d’état prêt à l’exécution. Exécution
Icône d’état en attente ou en pause. Waiting or Paused (En attente ou en pause)
Dernière icône d’état d’exécution signalée. Last reported running but hasn’t responded more than 30 minutes (Dernière exécution signalée, mais pas de réponse depuis plus de 30 minutes)
Icône d’état réussie. Successfully stopped or failed to stop (Réussite ou échec de l’arrêt)

L’icône d’état affiche un nombre basé sur ce que fournit le pod. Elle montre les deux pires états. Lorsque vous pointez sur un état, elle affiche l’état de rollup de tous les pods du conteneur. S’il n’existe pas d’état prêt, la valeur d’état s’affiche (0) .

Dans le sélecteur, sélectionnez Conteneurs.

Capture d’écran montrant la sélection de conteneurs.

Ici, vous pouvez voir l’intégrité des performances de vos conteneurs AKS et Container Instances.

Capture d’écran montrant une vue de performances des conteneurs \<Name> .

À partir d’un conteneur, vous pouvez accéder à un pod ou un nœud pour afficher les données de performance filtrées pour cet objet. Sélectionnez la valeur sous la colonne Pod ou Node pour le conteneur spécifique.

Capture d’écran montrant un exemple de descente dans la hiérarchie du nœud vers les conteneurs dans la vue des performances.

Les informations qui sont affichées dans les conteneurs sont décrites dans le tableau suivant.

Colonne Descriptif
Nom Nom du contrôleur.
Statut Statut des conteneurs, le cas échéant. Plus de détails sur l’icône d’état sont fournis dans le tableau ci-dessous.
Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % Cumul du pourcentage moyen de chaque entité pour la métrique et le centile sélectionnés.
Min, Avg (Moy), 50th (50e), 90th (90e), 95th (95e), Max Cumul de la performance moyenne du processeur ou de la mémoire du conteneur pour le centile sélectionné. La valeur moyenne est mesurée à partir de la limite Processeur/Mémoire définie pour un pod.
Pod Conteneur dans lequel se trouve le pod.
Nœud  Nœud sur lequel se trouve le conteneur.
Redémarrages Indique le temps écoulé depuis le démarrage d’un conteneur.
Durée de bon fonctionnement Indique le temps écoulé depuis le démarrage ou le redémarrage d’un conteneur.
Tendance Min %, Avg % (Moy %), 50th % (50e %), 90th % (90e %), 95th % (95e %), Max % La tendance du graphique à barres indique la métrique de centile en pourcentage du conteneur.

Autres processus

L’entrée Autres processus dans la vue Nœud est destinée à vous aider à comprendre clairement la cause racine de l’utilisation élevée des ressources sur votre nœud. Ces informations vous aident à faire la distinction entre l’utilisation des processus conteneurisés par rapport aux processus non conteneurisés. Il s’agit de processus non conteneurisés qui s’exécutent sur votre nœud et qui incluent les éléments suivants :

  • Processus non conteneurisés auto-managés ou Kubernetes managés.
  • Processus à l’exécution du conteneur.
  • Kubelet.
  • Processus système en cours d’exécution sur votre nœud.
  • Autres charges de travail non-Kubernetes en cours d’exécution sur le matériel ou la machine virtuelle du nœud.

La valeur d’autres processus est Total usage from CAdvisor - Usage from containerized process.

Statut

Les icônes du champ d’état indiquent les états en ligne des pods, comme expliqué dans le tableau suivant.

Icône Statut
Icône d’état prêt à l’exécution.
Icône d’état en attente ou en pause. Waiting or Paused (En attente ou en pause)
Dernière icône d’état d’exécution signalée. Last reported running but hasn’t responded more than 30 minutes (Dernière exécution signalée, mais pas de réponse depuis plus de 30 minutes)
Icône d’état terminée. Successfully stopped or failed to stop (Réussite ou échec de l’arrêt)
Icône de l’état Échec. Statut Échec

Analyser et visualiser les configurations réseau

Azure Network Policy Manager comprend des métriques Prometheus informatives que vous pouvez utiliser pour analyser et mieux comprendre vos configurations réseau. Il fournit des visualisations intégrées dans le portail Azure ou les laboratoires Grafana. Pour plus d’informations, consultez Surveiller et visualiser les configurations réseau avec Azure npm.

Étapes suivantes