L’impact des environnements d’orchestration de conteneurs sur la surveillance de l’état de santé

Écosystème F5 | 16 octobre 2017

La surveillance est au cœur de la disponibilité. Avant de choisir une ressource cible, chaque répartiteur de charge doit savoir si celle-ci est réellement disponible ou non. Sinon, à quoi bon ?

Dans les environnements où la durée de vie des ressources se mesure parfois en minutes plutôt qu’en heures ou en jours, il est d’autant plus crucial de connaître leur état avant de décider de leur envoyer une requête.

La surveillance de l’état de santé fait partie intégrante des répartiteurs de charge et des proxys. Cela vaut également — ou devrait valoir — pour les environnements conteneurisés. À mesure que ces environnements gagnent rapidement en maturité, de nouveaux modèles de surveillance apparaissent pour répondre aux défis assez particuliers que posent ces systèmes distribués extrêmement volatils.

santé-du-proxy-direct

La surveillance traditionnelle de l’état de santé fait certes partie de l’équation, mais certains modèles de disponibilité et de mise à l’échelle au sein des environnements de conteneurs mettent à rude épreuve cette surveillance et soulèvent des difficultés auxquelles il faut remédier. Par exemple, les proxys déployés selon un modèle de proxy direct doivent être capables de sélectionner une cible saine (disponible) parmi tous les services possibles. Alors qu’un proxy inverse (autrement dit, un équilibreur de charge traditionnel) est uniquement chargé de suivre l’état d’un ensemble très précis de services pour une seule application, un proxy direct doit connaître l’état de chaque service de chaque application de l’environnement. Parce qu’envoyer une requête à un conteneur déjà hors service, ce serait pas terrible, hein ?

Surveillance traditionnelle de l’état de santé

Traditionnellement, la surveillance de l’état de santé est assurée par un proxy de deux manières :

  • Surveillance active : Envoi de sondes ou de requêtes de contrôle d’intégrité aux conteneurs et évaluation de leurs réponses.
  • Surveillance passive : Observation des requêtes réelles des clients et des réponses associées.

Vous imaginez bien que la surveillance active de chaque service par chaque proxy direct va considérablement accroître le trafic sur le réseau local et consommer inutilement des ressources. Pour être utile, la surveillance doit s’effectuer au minimum au niveau de la couche TCP et, idéalement, de la couche HTTP. Après tout, la connectivité réseau ne constitue pas un indicateur de l’état de santé ou de la disponibilité d’un service. La consommation de connexions TCP et le traitement des requêtes HTTP imposeront rapidement une charge importante aux conteneurs à mesure que le nombre de nœuds (et donc de proxys directs) augmentera. Il ne faudrait pas avoir à augmenter la capacité simplement parce que les conteneurs sont submergés par la surveillance.

La surveillance passive constitue une meilleure option dans ce cas, car elle n’impose aucune charge au système surveillé. Elle présente toutefois certaines limites dans certains environnements de conteneurs. Nombre d’entre eux reposent sur des principes de réseau superposé, ce qui complique la tâche lorsqu’il s’agit de garantir que chaque proxy puisse voir et suivre chaque réponse des services. Ce n’est pas impossible, mais cela reste complexe au niveau de la couche réseau.

Les deux modèles sollicitent également le proxy lui-même, car ils nécessitent de consacrer des ressources à la simple surveillance de l’environnement plutôt qu’à la tâche pour laquelle ils sont conçus : la mise à l’échelle des services.

Surveillance de l’état de santé conteneurisée

Les environnements conteneurisés ne sont pas épargnés par ces difficultés. En réponse, nous voyons émerger deux nouveaux modèles qui contribueront certainement à garantir la disponibilité des architectures utilisant des proxys directs à des fins de disponibilité et de mise à l’échelle.

Ces deux modèles sont les suivants :

  • Surveillance de l’environnement : Les proxys connaissent l’état de santé et la disponibilité des conteneurs grâce aux informations fournies par l’environnement d’orchestration de conteneurs (COE).
  • Surveillance partagée : Comme un environnement est susceptible de comporter de nombreux proxys, les tâches de surveillance peuvent être réparties entre eux et les résultats mis en commun.

La surveillance de l’environnement est souvent associée au registre de services, qui assure le suivi des conteneurs à mesure qu’ils entrent dans le système et en sortent. Il s’agit donc souvent de la source la plus fiable concernant la disponibilité des conteneurs dans le système. Les proxys peuvent également s’abonner aux événements déclenchés par la création et la destruction de conteneurs afin d’assurer eux-mêmes le suivi de ces ressources (faisant ainsi eux-mêmes office de registre).

Par exemple, si la surveillance de l’état de santé est activée pour une application dans Marathon, un proxy peut utiliser le champ 'healthCheckResults'. Dans Kubernetes, les proxys peuvent utiliser des sondes de vivacité et/ou de disponibilité. Les contrôles de l’état de santé de l’environnement permettent aux proxys de commencer à sélectionner des points de terminaison plus sains avant que le système d’orchestration ne redémarre un point de terminaison défaillant.

La surveillance partagée est particulièrement pertinente dans les systèmes utilisant des modèles de proxy direct, notamment ceux reposant sur un maillage de services comme Istio. Le proxy associé au nœud peut tout à fait surveiller l’état de santé et la disponibilité des conteneurs auxquels il transmet des requêtes (de la même manière qu’il pourrait suivre les services dans un modèle de proxy inverse). Cependant, il n’est certainement pas souhaitable que chaque proxy sonde activement chaque point de terminaison d’un tel système. Ainsi, en partageant les informations locales sur l’état de santé avec d’autres proxys (ou, mieux encore, avec l’environnement), tous les proxys peuvent connaître l’intégralité de l’état du système sans qu’il soit nécessaire d’effectuer un nombre excessif de contrôles d’intégrité sur chaque service.

De nombreux changements sont en cours dans « le réseau » en ce qui concerne les services applicatifs tels que l’équilibrage de charge et la manière dont ils interagissent pour répondre aux besoins et aux exigences de nouveaux modèles comme la conteneurisation. Ces exigences poussent constamment les proxys à s’adapter. En effet, les proxys comptent parmi les technologies les plus flexibles développées au cours des vingt dernières années et continuent de constituer un socle essentiel sur lequel les services applicatifs sont conçus, développés et déployés.

Partager
Mots-clés : DevOps, 2017

À propos de l’auteur

Lori Mac Vittie
Lori Mac VittieIngénieur émérite et évangéliste en chef | F5

Lori MacVittie est ingénieure émérite et évangéliste en chef au sein du bureau du directeur technique de F5. Elle possède une expertise approfondie dans la fourniture d’applications, les stratégies d’automatisation et les infrastructures. Elle est réputée pour sa capacité à rendre la complexité intelligible, qu’elle définisse des garde-fous pour les agents d’IA, analyse des architectures multicloud fragiles ou explore les limites des systèmes évolutifs. Elle cumule plus de trente ans d’expérience dans le secteur, couvrant le développement d’applications, l’architecture informatique ainsi que l’exploitation des réseaux et des systèmes. Avant de rejoindre F5, elle a été rédactrice spécialisée dans les technologies et a reçu plusieurs distinctions. MacVittie est titulaire d’un master en informatique et est une autrice prolifique dont les publications couvrent la sécurité, le cloud et l’architecture d’entreprise. Elle est également une passionnée de jeux de société et de jeux vidéo, et assume pleinement ses avis bien tranchés sur le fromage.

Autres articles de Lori Mac Vittie

Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Écosystème F5 | 08/09/2025

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives

Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
Écosystème F5 | 24/04/2023

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui

En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).

Appliquer le principe de Peter Parker à l’inspection TLS
Écosystème F5 | 09/12/2019

Appliquer le principe de Peter Parker à l’inspection TLS

« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.

Le NetOps a besoin de défenseurs, pas d’adversaires
Écosystème F5 | 13/12/2018

Le NetOps a besoin de défenseurs, pas d’adversaires

Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Écosystème F5 | 01/03/2018

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects

Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…

Les templates prennent le contrôle du cloud
Écosystème F5 | 02/02/2017

Les templates prennent le contrôle du cloud

Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.