En tant que système de gestion de conteneurs open-source, la croissance constante de la plateforme Kubernetes (communément appelée K8s) justifie un réseau de clusters complexe, ce qui rend difficile l’obtention d’une visibilité à l’échelle du système. La moindre perturbation au sein du réseau peut faire s’effondrer l’ensemble des opérations, entraînant la défaillance d’applications dépendantes. Les entreprises qui s’appuient sur de telles applications conteneurisées peuvent subir un impact considérable sur leur chiffre d’affaires. Il est donc crucial de garder un œil sur l’infrastructure Kubernetes à l’aide d’un outil de surveillance.
Qu’est-ce que la surveillance Kubernetes ?
La surveillance de Kubernetes consiste à suivre la disponibilité et les statuts d’activité des composants critiques – pods, nœuds, services et volumes persistants (PV) – au sein de l’infrastructure du cluster. Comprendre la distribution des ressources et l’efficacité des interactions entre les différents composants est plus facile avec l’aide de la surveillance des performances de Kubernetes. La surveillance de K8s joue un rôle important dans la prévention des temps d’arrêt des applications conteneurisées.
Le déploiement d’un logiciel de surveillance permet de simplifier le processus de suivi de chaque objet Kubernetes, car l’infrastructure peut être élaborée et complexe. Il est important de choisir avec soin le meilleur outil de surveillance Kubernetes pour détecter les différents problèmes Kubernetes de manière préemptive et aider à les contrer en fournissant une visibilité complète sur le cluster.
Alors, que faut-il rechercher dans un moniteur Kubernetes ?
5 bonnes pratiques pour la surveillance de Kubernetes
Voici quelques capacités de base que tout service de surveillance Kubernetes devrait posséder afin de comprendre la relation entre chaque élément du cluster et l’efficacité du fonctionnement des clusters :
1. Surveillance des clusters Kubernetes
Lorsque vous choisissez un outil de surveillance Kubernetes, vous devez toujours vous assurer qu’il a la capacité de couvrir tous les composants d’un cluster Kubernetes. Le plus important est la capacité à fournir des rapports intelligents sur l’état de santé et de disponibilité des K8. Les ressources du cluster, telles que le CPU et la mémoire, sont des actifs précieux qui déterminent la capacité de charge de travail complète de l’ensemble de l’infrastructure.
Il est important de recourir aux services d’outils de surveillance de Kubernetes tels que ManageEngine Applications Manager pour surveiller de près l’utilisation des ressources du cluster. Cette pratique aide les administrateurs à effectuer les optimisations nécessaires pour augmenter l’efficacité globale du CPU et de la mémoire. À long terme, la surveillance des ressources du cluster Kubernetes permet de maintenir et de réduire les coûts opérationnels.
Les composants individuels du cluster doivent également être surveillés régulièrement afin d’éviter les pannes. L’affichage de l’état de santé de chaque composant facilite l’analyse et la gestion des pannes.
Mesures à surveiller : Santé, disponibilité et performance du cluster, utilisation du CPU, utilisation de la mémoire, santé et statistiques des composants du cluster, et disponibilité de l’espace de noms.
2. Surveillance des nœuds Kubernetes
Comprendre la capacité de fonctionnement des nœuds Kubernetes peut aider les administrateurs à mieux comprendre l’efficacité de l’allocation et de la consommation des ressources des conteneurs. Au fur et à mesure que la charge de travail des conteneurs augmente, des ressources supplémentaires peuvent être nécessaires, ce qui pourrait coûter plus cher à l’organisation. Le fait que des pods occupent des ressources nodales excessives peut rendre ces ressources indisponibles pour d’autres opérations de service et pourrait potentiellement ralentir l’application. Dans cette situation, un plan clair d’allocation des ressources permettrait aux pods Kubernetes d’utiliser au mieux les ressources tout en laissant de la place pour d’autres pods.
Applications Manager aide à lutter contre l’allocation inefficace des ressources en fournissant des informations sur les ressources nodales. La section Nœud de l’outil peut être utilisée pour révéler les détails de l’unité centrale et de la mémoire des nœuds surveillés. Elle affiche des métriques nodales telles que les limites de CPU et de mémoire, les requêtes, le nombre de ressources allouables et l’état de santé général de chaque nœud. Le tableau de bord Kubernetes fournit également des détails sur les nœuds principaux et secondaires du cluster qui aident à obtenir une image claire de la capacité de la charge de travail du système.
Applications Manager fournit également un rapport statistique sur les 5 nœuds les plus importants en fonction de la limite de CPU et de mémoire et des taux de requête. Cela peut être utile pour identifier les nœuds dont la demande a dépassé la limite, car ils pourraient affecter ou ralentir l’application conteneurisée.
Mesures à surveiller : santé du nœud, nombre de nœuds principaux et secondaires, taille de la mémoire allouable (Gi, souvent associée à un gigaoctet car 1 Go = 0,93Gi), nombre de processeurs allouables, limite et demande de CPU, limite et demande de mémoire, niveau d’utilisation des pods du nœud, nombre d’images, nombre de pods du système Kube et hors système Kube, système d’exploitation, architecture, taille du stockage éphémère (Gi) et heure de création.
3. Surveillance de pods Kubernetes
L’un des facteurs contribuant à l’indisponibilité des applications est le manque de pods au sein d’un nœud pour assigner les charges de travail. Cela se produit généralement lorsque tous les pods allouables sont utilisés. Applications Manager peut suivre en permanence le nombre de pods utilisés afin de s’assurer qu’il ne dépasse pas la limite maximale allouable, ce qui pourrait entraîner des interruptions de l’application.
Le suivi de chaque pod Kubernetes peut être fastidieux car il peut y avoir de nombreuses charges de travail actives dans un seul environnement de conteneurs. Il est encore plus difficile d’identifier les pods problématiques qui pourraient être confrontés à des erreurs pour d’innombrables raisons. Le moniteur de pods Kubernetes d’Applications Manager répertorie chaque pod au sein du cluster et son statut d’activité actuel (Running, Succeeded, Completed, Terminated, Failed, Unknown) pour aider à dépanner les problèmes potentiels. En appliquant le filtre d’état, les administrateurs peuvent facilement sélectionner les pods problématiques pour une analyse plus approfondie.
Une décomposition détaillée de chaque pod est nécessaire pour comprendre leur connexion avec d’autres objets Kubernetes. Applications Manager est l’un de ces outils qui fournit aux administrateurs des informations sur la relation d’un pod avec le nœud, l’application, l’espace de noms et le conteneur. Cela facilite la mise en correspondance des différents objets et l’identification des erreurs telles que les erreurs de validation, ErrImagePull et CrashLoopBackOff.q
Mesures à surveiller : Nom, espace de noms, nom du nœud associé, application, type, heure et type de création, état de l’activité du pod, nombre de conteneurs, limite et demande de CPU, limite et demande de mémoire, réclamation de volume persistant (PVC), image du conteneur, nombre de redémarrages du conteneur et état de l’activité du conteneur.
4. Surveillance des services Kubernetes
Kubernetes peut répartir uniformément le trafic sur le réseau pour faciliter le déploiement et l’équilibrage de la charge. Il existe différents types de services qui remplissent une fonction spécifique pour répondre aux besoins de différentes applications. En utilisant des outils de surveillance Kubernetes tels que Applications Manager, il est important de comprendre les types de services associés à l’application concernée.
La principale responsabilité de chaque service est de garantir l’accès et la connectivité des modules sur le réseau. Applications Manager répertorie les services réseau qui peuvent aider à garantir que les modules écoutent le bon port sans interruption. Il est également plus facile de savoir si un service existe, en particulier lorsqu’il s’agit d’un grand nombre de services, car il est possible que la création d’un service échoue parfois.
Mesures à surveiller : Nom, espace de noms, application, type, protocole, numéro de port cible, création et détails du déploiement.
5. Surveillance des PV Kubernetes
Les volumes persistants (PV) sont des unités de stockage éphémères qui conservent les données même après la durée de vie d’un module et qui peuvent résister aux redémarrages et aux pannes des modules. Même après le redémarrage de l’application, le module aura toujours accès aux données précédemment stockées, ce qui le rend très fiable. Toutefois, si la revendication de volume persistant (PVC) associée au PV n’est pas supprimée et reste dans l’état Terminating, le PV peut ne plus être disponible pour une utilisation ultérieure. Le fait d’avoir un PV inactif pendant trop longtemps peut entraîner des perturbations et des retards dans les opérations sur les conteneurs.
Les outils de surveillance Kubernetes tels que Applications Manager peuvent être utilisés pour suivre l’état de liaison (Bound, Terminating, Free) d’un PVC et de sa PV associée. Le moniteur fournit également des informations approfondies sur chaque PV et PVC afin de comprendre le type d’opération de stockage et leur relation mutuelle. Lorsqu’un pod retient encore un PV, les administrateurs peuvent utiliser le moniteur pour identifier le pod associé au PVC. Le pod peut alors être retiré pour permettre au PV d’être à nouveau utilisé. En outre, la classe de stockage de chaque PVC doit être surveillée, car ceux qui n’ont pas de classe de stockage peuvent tomber en panne. Ces fonctionnalités sont importantes pour s’assurer que les PV sont toujours en mode de fonctionnement complet et qu’ils ne subissent aucune perte opérationnelle.
Mesures à surveiller : Nom, espace de noms, état d’activité, mode d’accès, classe de stockage des PV et des PVC, limite de capacité des PV (Gi) et taille des demandes de PVC (Gi).
Conclusion
Fournir une couverture à 360 degrés de votre écosystème K8s permet d’éviter que les applications conteneurisées ne subissent des baisses de performance et des perturbations. Compte tenu du large éventail de solutions de surveillance de Kubernetes sur le marché, il est judicieux d’en choisir une qui couvre autant de terrain qu’Applications Manager. Outre le suivi des composants Kubernetes, cette solution de surveillance des performances des applications offre une prise en charge prête à l’emploi de l’ensemble de votre pile informatique. Elle fournit des solutions de surveillance pour plus de 150 technologies – sur site et dans le cloud.
Applications Manager de ManageEngine peut être facilement configuré pour la surveillance de Kubernetes en quelques minutes seulement. Téléchargez une version d’essai GRATUITE de 30 jours dès maintenant !
Vous pouvez également planifier une démonstration gratuite et personnalisée avec l’un de nos experts en solutions afin d’obtenir des réponses à vos questions relatives au produit.
Source : 5 key functions you need for your Kubernetes monitoring tool by Karthik Rajakumar