Surveillance d'un cluster Kubernetes

Utilisez ce tutoriel pour apprendre à configurer un cluster IBM Cloud® Kubernetes Service pour la transmission de métriques au service IBM Cloud® Monitoring. Vous pouvez surveiller les clusters dans IBM Cloud, sur site et dans d'autres clouds.

Pour configurer un cluster afin qu'il transmette des métriques, vous devez installer un agent de surveillance sur chaque nœud de travailleur de votre cluster Kubernetes à l'aide d'un fichier DaemonSet. L'agent de surveillance utilise une clé d'accès (jeton) pour s'authentifier auprès de l'instance IBM Cloud Monitoring. Il fait office de collecteur de données. Il collecte automatiquement des métriques telles que l'utilisation d'UC de noeud worker et de la mémoire de noeud worker, le trafic HTTP entrant et sortant de vos conteneurs, ainsi que des données concernant plusieurs composants d'infrastructure. En outre, l'agent peut collecter des métriques d'application personnalisées à l'aide d'un scraper compatible avec Prometheus ou d'une façade StatsD.

Vue d'ensemble des composants sur le site IBM Cloud
Vue d'ensemble des composants sur le site IBM Cloud

Par exemple, pour configurer votre cluster Kubernetes afin qu'il transmette les métriques à votre instance IBM Cloud Monitoring, vous pouvez déployer l'agent en utilisant Helm:

L'agent Monitoring collecte automatiquement les types de mesure système suivants par hôte :

  • System hosts metrics fournit des informations sur les mesures d'utilisation de l'unité centrale, de la mémoire et du stockage, que vous pouvez utiliser pour analyser les performances et l'utilisation des ressources de tous vos processus.

  • File and File System metrics fournit des informations sur les fichiers et le système de fichiers que vous pouvez utiliser pour analyser les interactions de fichiers qui se produisent dans votre système. Par exemple, vous pouvez trouver des informations sur vos fichiers ouverts, les octets en cours d'utilisation ou le pourcentage d'utilisation d'un système de fichiers donné.

  • Process metrics fournit des informations sur les processus qui s'exécutent sur vos serveurs. Par exemple, vous pouvez utiliser ces mesures pour explorer le nombre de processus ou obtenir des informations sur le client ou le serveur.

  • Network metrics fournit des informations sur le réseau. Ils offrent un aperçu des connexions établies entre vos applications, conteneurs et serveurs. Par exemple, vous pouvez trouver des informations sur les octets envoyés ou reçus, ou sur le nombre de demandes HTTP, de connexions et de temps d'attente. En outre, pour SQL ou MongoDB, l'agent collecte des informations supplémentaires lorsqu'il est configuré en mode dépannage.

L'agent Monitoring collecte automatiquement les types de mesures suivants par cluster Kubernetes :

  • State metrics: le rapport sur l'état des mesures Kube sur l'intégrité et l'état de divers objets qui s'exécutent à l'intérieur des composants Kubernetes, tels que les déploiements, les nœuds et les pods. Pour afficher la liste des métriques qui sont collectées par défaut, voir Kubernetes State.

  • Resource usage metrics: les indicateurs d'utilisation des ressources font état de la santé et de l'état de l'unité centrale et de la mémoire des workers (nœuds) et des pods qui s'exécutent dans le cluster. Les données peuvent être analysées par espace de nom, par travailleur, par pod, par objet de charge de travail tels que déploiements, daemonSets et plus.

Pour obtenir la liste des métriques collectées, voir Métriques disponibles pour les environnements orchestrés.

Grâce à l'interface utilisateur Monitoring, vous pouvez analyser des données dans l'onglet Assistant, l'onglet Explorer et dans l'onglet Tableau de bord. Les vues de métrique et les tableaux de bord vous permettent de surveiller les données.

Tenez compte des informations suivantes lors de la surveillance de vos données :

  • Dans l'onglet Explorateur, vous pouvez surveiller des mesures individuelles.

  • Dans l'onglet Conseiller, vous pouvez surveiller Kubernetes ou les indicateurs de niveau hôte.

    Cet onglet est uniquement disponible pour les utilisateurs appartenant à une équipe ayant accès à des indicateurs Kubernetes ou de niveau hôte.

  • Dans l'onglet Tableau de bord, vous pouvez surveiller les tableaux de bord prédéfinis ou personnalisés et obtenir un aperçu spécialisé des données réseau, des données d'application, de la topologie, des services, des hôtes et des conteneurs. Un panneau affiche une métrique ou un groupe de métriques dans un tableau de bord.

Pour chaque vue de métrique et tableau de bord, vous pouvez définir la portée des données, le mode d'agrégation des données, ainsi que les filtres temporels et de groupe à appliquer aux données. Pour plus d'informations, voir Gestion des panneaux.

Vous pouvez configurer un tableau de bord comme point d'entrée par défaut pour une équipe, unifier l'expérience d'une équipe et permettre aux utilisateurs de concentrer leur attention immédiate sur les informations les plus pertinentes pour eux.

Pour plus d'informations, voir Affichage des métriques.

Objectifs

Dans ce tutoriel, vous configurez des métriques dans le cluster IBM Cloud® Kubernetes Service. Notamment, vous :

  • Mettez à disposition une instance IBM Cloud Monitoring.
  • Configurez l'agent de surveillance dans le cluster pour qu'il envoie des métriques.
  • Utilisez l'interface utilisateur de surveillance pour analyser les métriques du cluster.

Avant de commencer

Liste des politiques IAM requises pour compléter le tutoriel
Ressource Portée de la règle d'accès Rôle Région Informations
Groupe de ressources default Groupe de ressources Afficheur us-south Cette règle est requise pour autoriser l'utilisateur à visualiser des instances de service dans le groupe de ressources par défaut.
Service IBM Cloud Monitoring Groupe de ressources Editeur Us-south Cette règle est requise pour permettre à l'utilisateur de mettre à disposition et d'administrer le service IBM Cloud Monitoring dans le groupe de ressources par défaut.
Instance de cluster Kubernetes Ressource Editeur Us-south Cette règle est requise pour configurer la valeur confidentielle et l'agent de surveillance dans le cluster Kubernetes.

Pour plus d'informations sur les rôles IAM ( IBM Cloud® Kubernetes Service ), voir Rôles et actions IAM.

Mise à disposition d'une instance IBM Cloud Monitoring

Dans ce tutoriel d'initiation, des instructions sont fournies pour la mise à disposition d'une instance IBM Cloud Monitoring dans la région US South. Pour plus d'informations sur les régions prises en charge, voir Régions.

Pour mettre à disposition une instance IBM Cloud Monitoring via l'interface utilisateur IBM Cloud, procédez comme suit :

  1. Connectez-vous à votre compte IBM Cloud.

    Une fois que vous êtes connecté avec votre ID utilisateur et votre mot de passe, l'interface utilisateur IBM Cloud s'ouvre.

  2. Cliquez sur Catalogue. La liste des services disponibles dans IBM Cloud s'affiche.

  3. Pour filtrer la liste des services affichés, sélectionnez la catégorie Journalisation et surveillance.

  4. Cliquez sur la vignette IBM Cloud Monitoring.

  5. Sélectionnez un emplacement et un plan de service.

    Le plan Lite est défini par défaut.

    Pour plus d'informations sur les autres plans de service, voir Plans de tarification.

  6. Configurez la ressource.

    Entrez un nom pour l'instance de service.

    Sélectionnez un groupe de ressources.

    Ajoutez éventuellement des balises.

  7. Cliquez sur Créer.

    Une fois que vous avez mis à disposition une instance, le tableau de bord Observabilité s'ouvre sur les détails de vos instances de Surveillance.

Pour mettre à disposition une instance via l'interface de ligne de commande, voir Mise à disposition d'une instance via l'interface de ligne de commande IBM Cloud.

Configurez votre cluster Kubernetes pour envoyer des mesures à votre instance

Pour configurer le cluster Kubernetes pour qu'il envoie des métriques à l'instance IBM Cloud Monitoring, vous devez installer un pod d'agent de surveillance sur chaque noeud du cluster. L'agent de surveillance est installé via un DaemonSet qui vérifie qu'une instance de l'agent s'exécute sur chaque noeud worker. Il collecte des métriques à partir du pod où il est installé, puis les transmet à votre instance.

Pour fournir la suite complète des métriques système, l'agent de surveillance doit disposer d'un statut privilégié.

Effectuez les étapes suivantes à partir de la ligne de commande pour déployer l'agent à l'aide de helm :

  1. Ouvrez une fenêtre de terminal. Puis connectez-vous à IBM Cloud. Exécutez la commande suivante et suivez les invites :

    ibmcloud login -a cloud.ibm.com
    

    Sélectionnez le compte où le cluster est disponible.

  2. Configurez l'environnement de cluster. Exécutez les commandes suivantes :

    Commencez par vous procurer la commande de définition de la variable d'environnement et téléchargez les fichiers de configuration Kubernetes.

    ibmcloud ks cluster config --cluster <cluster_name_or_ID>
    

    Une fois les fichiers de configuration téléchargés, une commande, qui permet de définir le chemin vers le fichier de configuration Kubernetes local en tant que variable d'environnement s'affiche. Copiez et collez la commande qui s'affiche sur votre terminal pour définir la variable d'environnement KUBECONFIG.

    Chaque fois que vous vous connectez à l'interface CLI d'IBM Cloud® Kubernetes Service pour gérer vos clusters, vous devez lancer ces commandes pour définir le chemin d'accès au fichier de configuration du cluster par le biais d'une variable de session. L'interface CLI de Kubernetes utilise cette variable pour localiser un fichier de configuration local et les certificats requis pour connexion au cluster dans IBM Cloud.

  3. Obtenez la clé d'accès. Pour plus d'informations, voir Obtention de la clé d'accès via l'interface utilisateur IBM Cloud.

  4. Obtenez l'URL d'ingestion depuis les noeuds finaux de collecteur.

  5. Déployez l'agent de surveillance. Pour toutes les étapes, voir Gestion de l'agent Monitoring dans un cluster Kubernetes à l'aide d'un diagramme HELM

  6. Vérifiez que l'agent de surveillance a été créé, ainsi que son statut. Exécutez la commande suivante :

    kubectl get pods -n ibm-observe
    

    Le déploiement a abouti lorsque vous voyez un ou plusieurs pods sysdig-agent. Le nombre de pods sysdig-agent est égal au nombre de noeuds worker de votre cluster. Tous les pods doivent être à l'état Running.

Lancement de l'interface utilisateur de surveillance

Pour lancer l'interface utilisateur de surveillance via la console IBM Cloud, procédez comme suit.

  1. Connectez-vous à votre compte IBM Cloud.

    Une fois connecté avec votre ID utilisateur et votre mot de passe, le tableau de bord IBM Cloud s'ouvre.

  2. Dans le menu Icône de menu, sélectionnez Observabilité.

  3. Sélectionnez Surveillance. La liste des instances disponibles sur IBM Cloud s'affiche.

  4. Recherchez votre instance et cliquez sur Ouvrir le tableau de bord. L'interface utilisateur web s'ouvre.

Il peut s'écouler un certain temps avant que vous ne voyiez l'entrée du cluster, car les informations sont initialement collectées et traitées par l'agent de surveillance.

Vous ne pouvez surveiller qu'une seule instance par navigateur. Vous pouvez avoir plusieurs onglets pour la même instance.

Surveillance de votre cluster

Dans l'onglet Conseiller, vous pouvez surveiller et dépanner l'intégrité , le risque et la capacité des hôtes et des clusters Kubernetes.

Onglet Assistant
Onglet Assistant

  • Les données sont actualisées toutes les 10 minutes.
  • Les indicateurs sont classés par ordre de priorité par nombre d'événements et gravité.
  • Pour plus d'informations, voir Advisor.

Dans la section Assistant, vous pouvez choisir de surveiller vos clusters Kubernetes par cluster, par noeud, par espace de nom ou par charge de travail. Chaque option offre un ensemble de tableaux de bord prédéfinis que vous pouvez utiliser pour surveiller l'intégrité de vos ressources. Vous pouvez également choisir de surveiller par hôte.

Surveillance des clusters Kubernetes par cluster

Lorsque vous choisissez de surveiller vos clusters Kubernetes par cluster, vous pouvez sélectionner d'autres filtres pour afficher les données par noeud ou par espace de nom, ou vous pouvez choisir l'un des tableaux de bord suivants :

  • Statut et performances de la charge de travail
  • Statut et & performance du noeud
  • Optimisation de la taille du pod et de la capacité de la charge de travail
  • Planification de la capacité des clusters
  • Ressources disponibles du cluster / de l'espace de nom
  • Présentation du cluster
  • Optimisation de l'allocation d'unité centrale
  • Optimisation de l'allocation de mémoire

Tableaux de bord prédéfinis de l'assistant par cluster
Tableaux de bord prédéfinis de l'assistant par cluster

Pour plus d'informations sur l'interprétation de cette vue, voir Présentation des clusters.

Surveillance des clusters Kubernetes par noeud

Lorsque vous choisissez de surveiller vos clusters Kubernetes par noeud, vous pouvez choisir l'un des tableaux de bord suivants :

  • Statut et & performance du noeud
  • Identification et résolution des incidents de planification du pod
  • Présentation du noeud
  • Optimisation de l'allocation d'unité centrale
  • Optimisation de l'allocation de mémoire

Pour plus d'informations sur l'interprétation de cette vue, voir Présentation des noeuds.

Surveillance des clusters Kubernetes par espace de nom

Lorsque vous choisissez de surveiller vos clusters Kubernetes par espace de nom, vous pouvez sélectionner d'autres filtres pour afficher les données par charge de travail ou vous pouvez choisir l'un des tableaux de bord suivants :

  • Statut et performances de la charge de travail
  • Statut et performances du Pod
  • Optimisation de la taille du pod et de la capacité de la charge de travail
  • Présentation de l'espace de nom
  • Utilisation et allocation de l'unité centrale par les charges de travail
  • Utilisation des charges de travail et allocation de la mémoire

Pour plus d'informations sur l'interprétation de cette vue, voir Présentation des espaces de nom.

Surveillance des clusters Kubernetes par charges de travail

Lorsque vous choisissez de surveiller vos clusters Kubernetes par charges de travail, vous pouvez choisir l'un des tableaux de bord suivants :

  • Utilisation et résolution des incidents liés aux ressources de conteneur
  • Statut et performances du Pod
  • Optimisation de la taille du pod et de la capacité de la charge de travail
  • Statut et performances de la charge de travail
  • Présentation du déploiement
  • Présentation du Pod
  • Utilisation et allocation de l'unité centrale par les charges de travail
  • Utilisation des charges de travail et allocation de la mémoire

Pour plus d'informations sur l'interprétation de cette vue, voir Présentation des charges de travail.

Etapes suivantes