Par JF Joly

Kubernetes est un exemple remarquable de réussite : une technologie d’orchestration de conteneurs qui est apparue sur le marché il y a à peine trois ans et qui joue aujourd’hui un rôle central pour des milliers d’organisations ayant adopté des architectures applicatives orientées conteneurs.

Le plus remarquable avec Kubernetes, ce n’est pas ce que Kubernetes fait aujourd’hui, c’est qu’il n’en est qu’à ses débuts ! Si la tendance actuelle se confirme, d’ici quelques années, les clients mettront en œuvre l’orchestration de conteneurs à une échelle dépassant largement celle des organisations aujourd’hui.

Les défis de la surveillance des performances de Kubernetes 

Cependant, de nombreux clients ont déjà à faire face aux défis que pose l’exploitation d’environnements Kubernetes à grande échelle. Ils sont enthousiastes, mais se demandent aussi comment maintenir la visibilité des performances et le bon fonctionnement de Kubernetes.

À mesure que l’environnement Kubernetes s’élargit et devient plus complexe, il est de plus en difficile de répondre à quelques questions élémentaires, mais fondamentales : quel est l’état de mon cluster ? Quelle est la hiérarchie et l’état des éléments contenus dans mon cluster (nœuds, pods, conteneurs et applications) ? Nous pensons qu’il est essentiel que nos clients disposent des outils dont ils ont besoin pour obtenir des réponses pertinentes à ces questions, afin d’adopter une approche dynamique de la surveillance de l’état et des performances de leurs environnements Kubernetes, quels que soient leur échelle et leur niveau de complexité.

Se pose également la question de savoir comment les équipes peuvent adapter et modifier leurs processus de dépannage au fur et à mesure de l’extension de l’environnement Kubernetes. Il peut déjà être difficile d’appréhender les dépendances entre les applications et l’infrastructure, ou de retrouver son chemin parmi toutes les entités (conteneurs, pods, nœuds, déploiements, espaces de noms, etc.) pouvant être concernées par les tâches de dépannage. Plus la complexité augmente et plus les efforts et les coûts liés à la recherche de pannes et au investigation (idéalement avant que les clients ne soient affectés) augmentent.

Présentation de la solution : Kubernetes Cluster Explorer

Afin de relever ces défis, les équipes d’opérations et développement ont besoin de meilleures méthodes pour visualiser et explorer l’état de leurs environnements Kubernetes. Nous sommes heureux d’annoncer un outil de visualisation innovant qui répond à ces besoins : Kubernetes Cluster Explorer de New Relic.

New Relic Cluster Explorer constitue pour nos clients une solution puissante et innovante pour relever les défis induits par l’exécution de Kubernetes à très grande échelle.

Il étend les fonctions de surveillance de Kubernetes déjà intégrées à la plateforme New Relic, et applique des fonctions avancées pour filtrer, trier et rechercher les entités Kubernetes, comprendre les relations et dépendances au sein d’un environnement, puis mettre en œuvre des techniques de visualisation des données procurant aux clients un chemin rapide et intuitif vers l’obtention de réponses et la compréhension de leurs environnements Kubernetes. Il constitue une solution puissante et innovante pour relever les défis induits par l’exécution de Kubernetes à très grande échelle.

De nombreuses équipes essayaient déjà de relever ces défis par elles-mêmes, en général avec des produits segmentés, des tableaux de bord Kubernetes et des scripts développés en interne pour réunir différents composants. Cependant, ces solutions manquent en général de cohésion et de corrélation et ne sont accessibles que par une poignée d’ingénieurs au sein d’une organisation. 

Si votre équipe adopte Cluster Explorer, vous bénéficierez de délais de résolution plus courts lors du dépannage d’erreurs, ainsi que de meilleures performances et d’une cohérence accrue, sans parler d’une méthode efficace pour contenir la complexité associée à l’exploitation de Kubernetes à grande échelle. New Relic peut aider à garantir que vos clusters se comportent comme prévu et détecter rapidement les problèmes de performances, avant même qu’ils n’impactent réellement vos clients.

Vues améliorées de l’état et des performances de Kubernetes

Cluster Explorer fournit une représentation en plusieurs dimensions d’un cluster Kubernetes, permettant aux équipes d’explorer en détail les données et métadonnées Kubernetes au sein d’une interface utilisateur bien organisée qui simplifie les environnements complexes. Les équipes peuvent utiliser Cluster Explorer pour surveiller les performances et les dépendances dans tout environnement Kubernetes, ainsi que pour résoudre les pannes, goulots d’étranglement et autres comportements anormaux, ce qui garantit la disponibilité des applications, leur performances et leurs fonctions.

Cluster Explorer profite d’une conception distinctive qui montre l’intégralité du cluster mais qui peut facilement se concentrer sur des points sensibles au sein du cluster, les éléments les plus critiques mis en évidence au milieu. Il visualise le cluster sous forme d’une série de quatre anneaux concentriques :

  1. L’anneau extérieur montre les nœuds du cluster, chaque nœud affichant les indicateurs de performances de l’unité centrale, de la mémoire et du stockage, ce qui permet de voir immédiatement l’état général du nœud.
  2. L’anneau suivant révèle des informations sur la répartition et le statut des pods associés à un nœud sélectionné.
  3. Le troisième anneau affiche les pods qui ont dépassé un seuil d’alerte, indiquant que ces pods sont susceptibles de rencontrer des problèmes même s’ils fonctionnent toujours.
  4. Enfin, l’anneau intérieur affiche les pods qui ne fonctionnent pas ou que Kubernetes est incapable d’assigner à un noeud, par exemple en l’absence de ressources ou parce que l’image du conteneur spécifiée est incorrecte.

Dépannage plus rapide et plus efficace

Chez New Relic, nous savons qu’il est important que les clients comprennent l’état et les performances de leurs entités Kubernetes. Une équipe peut par exemple souhaiter vérifier rapidement l’état d’un environnement pendant les heures de forte activité ou avant d’affecter un déploiement ou un namespace à une équipe. Ce sont des moments critiques pour détecter des tendances de performances et d’état au niveau de Kubernetes, qui peuvent indiquer des problèmes potentiels et, idéalement, les localiser et les résoudre avant qu’ils ne dégradent l’expérience numérique du client.

Il est par ailleurs important de reconnaître qu’une vue globale d’un environnement Kubernetes est une fonction de dépannage nécessaire, mais insuffisante. Les équipes ont aussi besoin d’identifier les dépendances ou les détails d’une panne, puis de naviguer efficacement au sein d’un cluster pour localiser la source du problème, en allant de plus en plus loin dans le détail des nœuds, des pods, des conteneurs et des applications.

Prenez cet exemple courant : une notification d’alerte qui déclenche une tâche de dépannage. Une équipe peut commencer à utiliser Cluster Explorer pour obtenir une vue globale d’un cluster Kubernetes et comprendre les principales relations (par exemple entre un nœud et un pod). L’équipe peut ensuite cibler son intervention en étudiant de plus près un ou plusieurs pods, en observant l’état et les performances des conteneurs individuels et des applications qu’ils servent, et en centrant rapidement leur vue sur le namespace ou le déploiement Kubernetes. L’équipe peut également utiliser Cluster Explorer pour établir une corrélation entre le comportement des applications et celui de l’infrastructure, par exemple dans des cas où un débit d’application élevé entraîne une utilisation intensive de l’unité centrale des conteneurs. Autre cas d’utilisation : l’identification des emplacements critiques où des instances de pods d’un replicaset sont concentrées sur un hôte, situation qui peut être solutionnée par des règles anti-affinités. 

L’expérience de Cluster Explorer : utile à tous

Peu importe votre rôle dans une équipe gérant un environnement Kubernetes, l’exploitation d’indices simples et intuitifs pour obtenir une visibilité de haut niveau sur les performances et l’état du système vous rendra bien des services.

Les développeurs peuvent utiliser Cluster Explorer pour détecter et comprendre les corrélations entre les applications et l’infrastructure : la latence de l’application indique-t-elle des erreurs au sein de l’application ou est-elle le résultat d’un manque de mémoire au niveau du nœud, pod ou conteneur ? Kubernetes Cluster Explorer procure aux développeurs une visibilité accrue sur tous les objets Kubernetes (clusters, nœuds, namespaces, déploiements, replicasets, pods et conteneurs) s’exécutant au sein de l’application. Cela vous aide à mieux comprendre le comportement de votre application et à analyser les pannes et optimiser les performances. Nous voulons que les développeurs puissent passer plus de temps à créer des applications et moins à configurer et gérer leurs environnements Kubernetes.

Une équipe des opérations sera plus concernée par des questions relatives à la résilience et la fiabilité : l’environnement Kubernetes répond-t-il correctement à un pic d’utilisation ou montre-t-il des tendances d’application/infrastructure qui indiquent un problème potentiel ? Les opérateurs bénéficient d’une vue globale de l’état de chaque cluster et peuvent étudier en détail l’état d’un objet Kubernetes, notamment en visualisant les principaux indicateurs et journaux. Toutes ces fonctionnalités viennent en support d’une approche proactive de la surveillance de votre environnement Kubernetes, en réduisant les problèmes au minimum et en les résolvant plus efficacement lorsqu’ils se produisent. 

L’expérience utilisateur ainsi obtenue et les visualisations dans Cluster Explorer sont puissantes et souples, exploitables par les différents membres des équipes de manière différente, dans de nombreux cas. Nous croyons que nombre des fonctionnalités de Cluster Explorer définissent de nouvelles normes pour le secteur, notamment les vues des pods et nœuds en plusieurs dimensions, avec l’état des performances critiques et d’état regroupées en une synthèse visuelle unique, ou encore la capacité à transformer quasi instantanément des données détaillées en indicateurs de bas niveau extrêmement précis. Cluster Explorer innove également avec sa capacité à afficher côte à côte des indicateurs d’applications et d’infrastructure et des objets, placés dans le contexte d’un nœud, pod, conteneur ou trace de transaction d’application spécifique.

Prêt à vous lancer et à essayer Cluster Explorer ? 

Nous souhaitons qu’un maximum de clients de New Relic puissent essayer et tester Kubernetes Cluster Explorer. Au début de cette année 2019, la version bêta publique sera accessible par tout client Infrastructure pro ayant configuré l’intégration de surveillance Kubernetes de New Relic : aucun déploiement additionnel ni aucune configuration nécessaire. Pour en savoir plus, consultez notre documentation sur l’intégration de surveillance Kubernetes

Avec des outils comme Kubernetes Cluster Explorer, New Relic s’efforce de garantir que l’évolutivité massive constitue une opportunité majeure pour les équipes qui utilisent Kubernetes, et non une source de problèmes. Nous sommes ravis de pouvoir vous proposer ces fonctionnalités innovantes et espérons qu’elle vous serviront fidèlement, aujourd’hui comme demain.

Pour tout savoir immédiatement

Obtenez les informations en temps réel dont votre entreprise axée sur les logiciels a besoin pour innover plus rapidement.