Éditeur – Cet article fait partie d’une série en 10 volets :
- Réduisez la complexité grâce à Kubernetes prêt pour la production
- Comment améliorer la résilience dans Kubernetes grâce à une gestion avancée du trafic
- Comment améliorer l’observabilité dans Kubernetes (cet article)
- Six façons de sécuriser Kubernetes à l’aide d’outils de gestion du trafic
- Guide pour choisir un contrôleur Ingress, 1re partie : identifiez vos besoins
- Guide pour choisir un contrôleur Ingress, 2e partie : risques et pérennisation
- Guide pour choisir un contrôleur Ingress, 3e partie : open source, par défaut ou commercial
- Guide pour choisir un contrôleur Ingress, 4e partie : les options de contrôleur Ingress NGINX
- Comment choisir un maillage de services
- Tests de performance des contrôleurs Ingress NGINX dans un environnement cloud Kubernetes dynamique
Vous pouvez également télécharger l’ensemble des articles sous forme d’e-book gratuit : Faire passer Kubernetes des tests à la production.
L’adoption des microservices accélère le développement des expériences numériques, mais les architectures de microservices peuvent également les rendre plus fragiles. Alors que vos développeurs s’efforcent de lancer rapidement de nouvelles applications, votre architecture peut vous exposer à des risques accrus de pannes et de failles de sécurité, ainsi qu’à des pertes de temps dues à un dépannage inefficace ou à la résolution de problèmes qui auraient pu être évités. Dans ce deuxième article de notre série consacrée à Kubernetes prêt pour la production, nous examinons comment les composants offrant une visibilité sur le trafic peuvent réduire la complexité et renforcer la sécurité de vos environnements de microservices.
Gagnez en visibilité pour obtenir des informations exploitables
Commençons par examiner quelques définitions :
- Visibilité – État de ce qui peut être vu ou de la capacité à voir
- Perspicacité – Une compréhension profonde d’une personne ou d’une chose
Dans une enquête menée en 2020 par StackRox, 75 % des utilisateurs de Kubernetes ont indiqué que la visibilité était une fonctionnalité « indispensable ». Nous convenons que la visibilité est essentielle dans Kubernetes, car il peut être particulièrement difficile de savoir ce qui est déployé. Pourtant, 95 % des personnes interrogées dans le cadre du rapport 2021 de F5, State of Application Strategy (SOAS), ont déclaré que, malgré l’abondance de leurs données, elles ne disposaient pas des informations exploitables sur les performances, la sécurité et la disponibilité des applications dont elles ont besoin pour protéger et faire évoluer leur infrastructure et leur activité. Alors, pourquoi ces informations sont-elles importantes et comment les obtenir ?
Grâce à une meilleure compréhension, vous pouvez :
- Renforcez la sécurité et la conformité en détectant les vulnérabilités et les vecteurs d’attaque potentiels
- Réduisez les interruptions et les temps d’arrêt en détectant les problèmes avant vos clients
- Améliorez l’efficacité du dépannage en identifiant la cause première des problèmes liés aux applications
- Vérifiez que votre trafic est uniquement dirigé vers les destinations souhaitées
- Sachez exactement ce qui s’exécute dans vos environnements Kubernetes et si tout est correctement configuré et sécurisé
- Déterminez si vous utilisez la quantité de ressources adéquate en vous appuyant sur l’historique de la latence et des performances
- Anticipez les besoins saisonniers en vous basant sur les tendances de trafic passées
- Mesurez les performances en termes de temps de réponse afin de vérifier le respect des accords de niveau de service (SLA) et de disposer d’un système d’alerte précoce avant que les problèmes n’affectent l’expérience utilisateur.
Pour obtenir des informations pertinentes, vous avez besoin de deux types de données de visibilité : les données en temps réel et les données historiques. Les données en temps réel vous permettent de diagnostiquer l’origine d’un problème en cours, tandis que les données historiques vous aident à distinguer ce qui est « normal » de ce qui constitue une anomalie. Combinées, ces deux sources de visibilité peuvent fournir des informations cruciales sur les performances des applications et de Kubernetes.
Comme pour les autres investissements technologiques, vous devez également définir une stratégie afin d’en tirer pleinement parti. Le rapport SOAS indique aussi que les entreprises ne parviennent pas à obtenir des informations précieuses en raison de facteurs organisationnels liés au recrutement et au développement des compétences des collaborateurs, à la stratégie et aux processus, ainsi qu’à l’absence de consensus sur l’utilisation qui doit être faite des données, à quel moment et par qui. Parmi ces constats figurent les suivants :
- Compétences connexes – Ce n’est un secret pour personne : les professionnels qualifiés dans le domaine des technologies sont en nombre insuffisant, comme le confirme le fait que 47 % des personnes interrogées déclarent avoir du mal à trouver les talents dont elles ont besoin.
- Initiatives de partage des données – Seuls 12 % des répondants ont mis en place des processus et des stratégies pour communiquer les données aux décideurs de l’entreprise afin de les sensibiliser aux répercussions sur l’activité de la résilience technologique (ou de son absence).
- L’objectif de la visibilité – La plupart des personnes interrogées utilisent la télémétrie de manière réactive (c’est-à-dire à des fins de dépannage), tandis que seules 24 % d’entre elles exploitent de manière proactive les données et les informations pour détecter d’éventuelles dégradations des performances, et 16 % pour suivre le respect des SLA.
La suite de cet article se concentre sur les aspects techniques de l’observabilité. Restez à l’affût de nos prochains articles consacrés à la stratégie, aux processus et à d’autres sujets.
Comment NGINX peut vous aider
Nous savons que la plupart des déploiements Kubernetes utilisent déjà un outil de supervision et n’en ont pas besoin d’un autre. Nous avons donc instrumenté l’API NGINX Plus afin de faciliter l’exportation des métriques et proposons des intégrations avec des outils populaires tels que OpenTracing et Grafana et Prometheus, pour vous offrir une vue d’ensemble des performances au sein de vos clusters. Vous bénéficiez d’informations ciblées sur les performances et la disponibilité des applications, ainsi que de traces détaillées qui vous permettent de comprendre comment les requêtes sont traitées dans vos applications basées sur des microservices.
- Visibilité sur le trafic entrant et sortant (nord-sud)
NGINX Ingress Controller offre une visibilité sur le trafic entrant dans vos clusters Kubernetes et en sortant. Saviez-vous qu’il existe trois contrôleurs Ingress populaires basés sur NGINX ? Ils ne sont pas tous adaptés aux environnements de production, et un mauvais choix pourrait compliquer votre stratégie de microservices au lieu de l’améliorer. Notre article de blog Attendez, quel contrôleur NGINX Ingress pour Kubernetes suis-je en train d’utiliser ? compare les différentes options afin de vous aider à choisir celle qui répond le mieux à vos besoins. - Visibilité sur le trafic est-ouest
NGINX Service Mesh offre une visibilité sur le trafic circulant entre les applications conteneurisées.
Poursuivez votre lecture pour découvrir comment nous pouvons vous aider à résoudre deux problèmes courants :
Si vous souhaitez voir cette technologie en action, regardez cette démonstration diffusée en direct, suivie d’une session de questions-réponses avec des experts de NGINX et Grafana. Vous les verrez expliquer comment surveiller en temps réel les principales métriques d’équilibrage de charge et de performances, exporter ces métriques vers Prometheus et créer des tableaux de bord Grafana offrant une vue des performances cumulées.
Problème : mon application est lente (ou indisponible !)
Soupçonnez-vous une attaque DDoS ? Des utilisateurs signalent-ils des erreurs sur votre site web ? Vous ne pourrez commencer à résoudre le problème qu’après en avoir déterminé précisément l’origine.
- Surveillance en temps réel avec NGINX Ingress Controller
Avec NGINX Plus, le tableau de bord de surveillance de l’activité en temps réel, alimenté par l’API NGINX Plus, affiche des centaines de métriques clés sur la charge et les performances. Obtenez des informations détaillées jusqu’au niveau d’un pod individuel afin de mesurer rapidement et facilement les temps de réponse des applications et de diagnostiquer l’origine d’un problème. Si votre environnement Kubernetes se développe, vous obtenez automatiquement des tableaux de bord pour chaque instance supplémentaire de NGINX Ingress Controller. Par exemple, deux colonnes de l’onglet Upstreams HTTP vous donnent un aperçu immédiat de l’état des applications et de l’infrastructure :
- Requêtes – Si le nombre de requêtes par seconde (Req/s) est inférieur à la normale pour l’application concernée (par exemple, 5 requêtes par seconde alors que la normale est de 40), il se peut que l’Ingress Controller ou l’application soit mal configuré.
- Temps de réponse – Si les temps de réponse sont inférieurs ou égaux à 10 millisecondes (ms), tout va très bien. Une latence supérieure à 30–40 ms est le signe d’un problème avec vos applications en amont.
- État Stub Status pour NGINX Ingress Controller
Avec NGINX Open Source, NGINX Ingress Controller comprend une page d’état qui fournit huit métriques de base. - OpenTracing avec NGINX Service Mesh
NGINX Service Mesh prend en charge OpenTracing avec le module OpenTracing de NGINX. À l’heure où nous écrivons ces lignes, le module prend en charge Datadog, LightStep, Jaeger et Zipkin.
Problème : mon cluster ou ma plateforme manque de ressources
Vous rencontrez des erreurs HTTP ? Les erreurs 503 et 40x indiquent un problème au niveau de vos ressources, tandis que les erreurs 502 signifient qu’une modification de la configuration n’a pas fonctionné. Utilisez les données historiques pour déterminer quelles ressources risquent de venir à manquer.
- Journalisation avec NGINX Ingress Controller
La première étape du diagnostic des problèmes réseau consiste à consulter les journaux de NGINX Ingress Controller, dans lesquels chaque entrée est associée au service Kubernetes concerné. Les entrées signalant des erreurs permettent d’identifier le service associé. Les journaux contiennent des informations détaillées sur l’ensemble du trafic ayant transité par l’Ingress Controller, notamment l’horodatage, l’adresse IP source et le code d’état de la réponse. Vous pouvez également exporter les journaux vers des agrégateurs courants tels que Datadog, Grafana et Splunk. - Métriques Prometheus
L’une des fonctionnalités les plus populaires de NGINX Ingress Controller est sa liste toujours plus étoffée de métriques Prometheus, qui comprend des métriques sur les performances réseau et le trafic du contrôleur Ingress. Avec NGINX Plus, NGINX Ingress Controller exporte des métriques sur les connexions, la mise en cache, le trafic HTTP et TCP/UDP traité par des groupes de processus de travail NGINX qui partagent des données dans une zone mémoire, le trafic HTTP et TCP/UDP traité par des groupes de serveurs backend, et bien plus encore. NGINX Service Mesh déploie un serveur Prometheus qui utilise l’API NGINX Plus pour collecter les métriques des side-cars NGINX Service Mesh et des pods NGINX Ingress Controller. Si vous préférez utiliser un déploiement Prometheus existant, nous fournissons également des configurations de collecte à ajouter à votre fichier de configuration Prometheus. - Tableaux de bord Grafana
Nous fournissons des tableaux de bord Grafana officiels pour NGINX Ingress Controller et NGINX Service Mesh qui permettent de visualiser les métriques exposées par Prometheus Exporter. Les utilisateurs apprécient la granularité des données, qui offrent notamment une précision à la milliseconde, des superpositions d’un jour sur l’autre et une vue des pics de trafic. Par exemple, le tableau de bord NGINX Service Mesh peut indiquer que vos pods ont atteint leur capacité maximale en affichant le volume de trafic de chaque service ou pod, ainsi que le nombre de pods actifs surveillés.
Préparer la mise en production avec NGINX
Le contrôleur Ingress NGINX prêt pour la production (basé sur NGINX Plus) est disponible dans le cadre d’un essai gratuit de 30 jours qui inclut NGINX App Protect pour sécuriser vos applications conteneurisées. NGINX Service Mesh, entièrement gratuit, est disponible en téléchargement sur f5.com.
À propos de l’auteur

Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
Découvrez les principaux enseignements tirés des réponses à l’enquête annuelle F5 NGINX sur les dernières tendances en matière de technologies cloud natives, de sécurité, d’ingénierie de plateforme et d’IA.
Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?
Lorsque de nouvelles CVE sont signalées, il est facile de ne plus savoir si elles concernent un outil de contrôleur Ingress NGINX particulier, car il existe plusieurs projets. Cet article présente les CVE et explique comment distinguer les différents projets de contrôleurs Ingress afin de dissiper toute confusion.
Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX
Votre API répond-elle aux requêtes en moins de 30 ms ? Si ce n’est pas le cas, il ne s’agit pas d’une API en temps réel offrant la faible latence exigée par la grande majorité des organisations. Mesurez la latence de votre API avec l’outil rtapi de NGINX et découvrez comment NGINX peut l’aider à offrir une réactivité en temps réel.

Un testeur d’expressions régulières pour NGINX et NGINX Plus
Le testeur d’expressions régulières (regex) pour NGINX et NGINX Plus vous évite de tâtonner en vous indiquant si une expression régulière utilisée dans un bloc location ou map correspond aux valeurs comme prévu. Il génère la configuration appropriée et affiche les valeurs des groupes de capture.
Caches partagés avec les clusters de cache NGINX Plus, partie 1
Optimisez la capacité de votre cache web en le répartissant entre plusieurs serveurs de cache web NGINX ou NGINX Plus. Découvrez comment procéder dans cet article.
Introduction aux microservices
Les microservices suscitent actuellement beaucoup d’intérêt. Cet article de blog est le premier d’une série de sept consacrée à la conception, au développement et au déploiement de microservices.