BLOG | NGINX

Comment améliorer la visibilité dans Kubernetes

NGINX-Partie-de-F5-horiz-black-type-RGB
Vignette de Jenn Gile
Jenn Gile
Publié le 08 mars 2021

Rédacteur – Ce billet fait partie d’ une série en 10 parties :

  1. Réduisez la complexité avec Kubernetes de niveau production
  2. Comment améliorer la résilience dans Kubernetes grâce à la gestion avancée du trafic
  3. Comment améliorer la visibilité dans Kubernetes (ce post)
  4. Six façons de sécuriser Kubernetes à l'aide d'outils de gestion du trafic
  5. Guide pour choisir un contrôleur d'entrée, partie 1 : Identifiez vos besoins
  6. Guide pour choisir un contrôleur d'entrée, partie 2 : Risques et pérennité
  7. Guide pour choisir un contrôleur d'entrée, partie 3 : Open Source contre Par défaut vs. Commercial
  8. Guide pour choisir un contrôleur d'entrée, partie 4 : Options du contrôleur d'entrée NGINX
  9. Comment choisir un maillage de services
  10. Test des performances des contrôleurs d'entrée NGINX dans un environnement cloud Kubernetes dynamique

Vous pouvez également télécharger l’ensemble complet des blogs sous forme d’eBook gratuit – Taking Kubernetes from Test to Production .
L’adoption de microservices accélère les expériences numériques, mais les architectures de microservices peuvent également rendre ces expériences plus fragiles. Alors que vos développeurs travaillent d'arrache-pied pour proposer de nouvelles applications, votre architecture peut vous exposer à un risque accru de pannes, d'expositions à des problèmes de sécurité et de perte de temps en dépannage inefficace ou en résolution de problèmes évitables. Dans ce deuxième blog de notre série sur Kubernetes de niveau production, nous examinons comment les composants qui offrent une visibilité sur le trafic peuvent réduire la complexité et améliorer la sécurité dans vos environnements de microservices.

Gagnez en visibilité pour mieux comprendre

Commençons par examiner quelques définitions :

  • Visibilité – L’état de pouvoir voir ou être vu
  • Insight – Une compréhension profonde d’une personne ou d’une chose

Dans une enquête réalisée en 2020 par StackRox , 75 % des utilisateurs de Kubernetes ont identifié la visibilité comme une capacité « indispensable ». Nous convenons que la visibilité est essentielle dans Kubernetes car il peut être particulièrement difficile de savoir ce qui est déployé. Et pourtant, 95 % des personnes interrogées dans le cadre de l'étude State of Application Strategy (SOAS) 2021 de F5 ont indiqué que, bien qu'elles disposent d'une multitude de données, elles ne disposent pas des informations 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 la perspicacité est-elle importante et comment l’obtenir ?

Grâce à cette perspicacité, vous pouvez :

  • Renforcez la sécurité et la conformité en détectant les vulnérabilités et les vecteurs d'attaque possibles
  • Réduisez les pannes et les temps d'arrêt en découvrant les problèmes avant vos clients
  • Améliorez l'efficacité du dépannage en trouvant la cause première des problèmes d'application
  • Confirmez que votre trafic va uniquement là où vous le souhaitez
  • Sachez exactement ce qui s'exécute dans vos environnements Kubernetes et s'ils sont correctement configurés et sécurisés
  • Déterminez si vous utilisez la bonne quantité de ressources en fonction de la latence et de l'historique des performances
  • Prévoir les besoins saisonniers en fonction des modèles de trafic passés
  • Mesurez les performances en termes de temps de réponse pour suivre les performances par rapport aux accords de niveau de service (SLA) et servir de système d'alerte précoce avant que les problèmes n'affectent l'expérience utilisateur.

Pour obtenir des informations détaillées, vous avez besoin de deux types de données de visibilité : en temps réel et historiques. Les données en temps réel vous permettent de diagnostiquer la source d’un problème qui se produit actuellement, tandis que les données historiques fournissent une perspective sur ce qui est « normal » par rapport à ce qui est une valeur aberrante. Combinés, ces deux types de sources de visibilité peuvent fournir des informations cruciales sur les performances des applications et de Kubernetes.

Comme pour d’autres investissements technologiques, vous avez également besoin d’une stratégie pour en récolter les bénéfices. Le rapport SOAS indique également que les individus ne parviennent pas à obtenir des informations précieuses en raison de facteurs organisationnels liés au recrutement et au développement des employés, à la stratégie et aux processus, ainsi qu’au consensus sur l’utilisation des données, le moment et la personne qui les utilise. Ces résultats comprennent :

  • Compétences connexes – Ce n’est un secret pour personne qu’il existe une pénurie de professionnels qualifiés dans le domaine des technologies, comme le confirment 47 % des répondants déclarant avoir du mal à trouver les talents dont ils 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 d’entreprise afin de les sensibiliser aux impacts commerciaux de la technologie résiliente (ou de son absence).
  • L'objectif de la visibilité – La plupart des répondants utilisent la télémétrie de manière réactive (c'est-à-dire pour le dépannage) tandis que seulement 24 % des répondants utilisent de manière proactive les données et les informations pour surveiller les dégradations potentielles des performances et 16 % pour suivre les performances des SLA.

Le reste de cet article se concentre sur les aspects techniques de l’insight. Gardez un œil sur les futurs blogs sur la stratégie, le 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 surveillance et n’en ont pas besoin d’un autre. Nous avons donc instrumenté l' API NGINX Plus pour une exportation facile des métriques et fournissons des intégrations avec des outils populaires comme OpenTracing , Grafana et Prometheus , afin que vous puissiez obtenir une image complète des performances au sein de vos clusters. Vous obtenez des informations ciblées sur les performances et la disponibilité des applications avec des traces approfondies afin de comprendre comment les demandes sont traitées dans vos applications de microservices.

  • Aperçu du trafic entrant-sortant (nord-sud)
    NGINX Ingress Controller fournit un aperçu du trafic entrant et sortant de vos clusters Kubernetes.

    Saviez-vous qu’il existe trois contrôleurs Ingress populaires basés sur NGINX ? Ils ne sont pas tous prêts pour la production, et un mauvais choix pourrait finir par compliquer plutôt que d’améliorer votre stratégie de microservices. Notre article de blog Attendez, quel contrôleur d'entrée NGINX pour Kubernetes suis-je en train d'utiliser ? fournit une comparaison des options afin que vous puissiez prendre la meilleure décision en fonction de vos besoins.

  • Aperçu du trafic est-ouest
    NGINX Service Mesh fournit un aperçu du trafic circulant entre les applications conteneurisées.

Lisez la suite pour découvrir comment nous pouvons vous aider à résoudre deux problèmes courants :

Si vous êtes prêt à voir la technologie en action, regardez cette démonstration en direct et AMA avec les experts NGINX et Grafana. Vous les verrez démontrer comment obtenir une surveillance en direct des mesures clés d’équilibrage de charge et de performances, exporter les mesures vers Prometheus et créer des tableaux de bord Grafana pour une vue des performances cumulées.

Problème: Mon application est lente (ou en panne !)

Vous suspectez une attaque DDoS ? Les utilisateurs signalent-ils des erreurs sur votre site Web ? Vous ne pouvez pas commencer à résoudre le problème tant que vous n’avez pas déterminé exactement où il se situe.

  • Surveillance en direct avec NGINX Ingress Controller
    Avec NGINX Plus, le tableau de bord de surveillance des activités en direct , alimenté par l' API NGINX Plus , affiche des centaines de mesures clés de charge et de performances. Obtenez des détails précis jusqu’au niveau d’un seul pod afin de pouvoir mesurer rapidement et facilement les temps de réponse des applications et diagnostiquer la source d’un problème. Si votre environnement Kubernetes se développe, vous obtenez automatiquement des tableaux de bord pour chaque instance NGINX Ingress Controller supplémentaire.

    À titre d’exemple, deux colonnes de l’onglet HTTP Upstreams vous donnent une lecture instantanée de l’état de l’application et de l’infrastructure :

    • Requêtes – Si le nombre de requêtes par seconde ( Req/s ) descend en dessous de la norme pour l'application donnée (par exemple, 5 requêtes par seconde alors que 40 est la valeur normale), le contrôleur d'entrée ou l'application peut être mal configuré.
    • Temps de réponse – Si les temps de réponse sont de 10 millisecondes (ms) ou moins, vous êtes en excellente forme. Une latence supérieure à 30 à 40 ms est un signe de problème avec vos applications en amont.

  • Statut du stub pour le contrôleur d'entrée NGINX
    Avec NGINX Open Source, NGINX Ingress Controller inclut une page d'état qui rapporte huit mesures de base.
  • OpenTracing avec NGINX Service Mesh
    NGINX Service Mesh prend en charge OpenTracing avec le module NGINX OpenTracing . Au moment de la rédaction de cet article, le module prend en charge Datadog, LightStep, Jaeger et Zipkin.

Problème: Mon cluster ou ma plateforme manque de ressources

Vous avez des erreurs HTTP ? 503 et 40x les erreurs indiquent qu’il y a un problème avec vos ressources, tandis que 502Cela signifie qu’un changement de configuration n’a pas fonctionné. Utilisez les données historiques pour diagnostiquer où vous pourriez manquer de ressources.

  • Journalisation avec NGINX Ingress Controller
    La première étape du diagnostic des problèmes de réseau consiste à consulter les journaux du contrôleur d’entrée NGINX , dans lesquels chaque entrée de journal est annotée avec le service Kubernetes concerné. Les entrées concernant les erreurs identifient le service associé. Les journaux incluent des informations détaillées sur tout le trafic passé par le contrôleur d'entrée, y compris un horodatage, une adresse IP source et un code d'état de réponse. Vous pouvez également exporter des journaux vers des agrégateurs populaires tels que Datadog, Grafana et Splunk.
  • Les métriques de Prometheus
    L’une des fonctionnalités les plus populaires du contrôleur d’entrée NGINX est sa liste toujours plus longue de mesures Prometheus , qui incluent des mesures sur les performances du réseau et le trafic du contrôleur d’entrée. Avec NGINX Plus, le contrôleur d'entrée NGINX exporte des métriques sur les connexions, la mise en cache, le trafic HTTP et TCP/UDP géré par des groupes de travailleurs NGINX qui partagent des données dans une zone mémoire , le trafic HTTP et TCP/UDP géré par des groupes de serveurs back-end , et plus encore.

    NGINX Service Mesh déploie un serveur Prometheus qui utilise l' API NGINX Plus pour extraire 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 scraping à 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 visualisent les métriques exposées par Prometheus Exporter. Les utilisateurs apprécient la granularité des données, qui incluent des détails jusqu’à la milliseconde, des superpositions quotidiennes et des pics de trafic. Par exemple, le tableau de bord NGINX Service Mesh peut indiquer que vos pods sont à pleine capacité en affichant la quantité de trafic sur un service ou un pod et le nombre de pods actifs surveillés.

Se préparer à la production avec NGINX

Le contrôleur d’entrée NGINX prêt pour la production (basé sur NGINX Plus) est disponible pour un essai gratuit de 30 jours qui inclut NGINX App Protect pour sécuriser vos applications conteneurisées. Le service mesh NGINX toujours gratuit est disponible en téléchargement sur f5.com .


« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."