Que sont les orchestrateurs ?

Effectué

La conception découplée des microservices associée à l’atomicité des conteneurs permet d’effectuer un scale-out des applications et de répondre à une demande accrue en déployant plus d’instances de conteneur et d’effectuer un scale-down si la demande diminue. Dans les solutions complexes, le processus de déploiement, de mise à jour, de supervision et de suppression des conteneurs entraîne des difficultés.

Gestion de conteneur

La gestion des conteneurs est le processus d’organisation, d’ajout, de suppression ou de mise à jour d’un nombre significatif de conteneurs.

Le site web de la société Contoso d’équipement de plein air est constitué de plusieurs microservices responsables de tâches comme la mise en cache, le traitement des données et un panier d’achat. Chacun de ces services est hébergé dans un conteneur et peut être déployé, mis à jour et mis à l’échelle indépendamment l’un de l’autre.

Diagram illustrating adding multiple containers to a single machine instance.

Si vous augmentez le nombre d’instances de conteneurs d’un panier d’achat et que vous devez déployer une nouvelle version, vous devrez mettre à jour chaque instance de ce conteneur.

La gestion des conteneurs facilite ces tâches.

Orchestration de conteneurs

Un orchestrateur de conteneurs est un système qui déploie et gère automatiquement des applications conteneurisées. Par exemple, l’orchestrateur peut répondre de manière dynamique aux changements dans l’environnement pour augmenter ou diminuer les instances déployées de l’application managée. Elle peut aussi faire en sorte que toutes les instances de conteneur déployées sont mises à jour si une nouvelle version d’un service est publiée.

Diagram showing some tasks of orchestration, including dynamic scaling and automatically updating running instances.

Kubernetes

Kubernetes est une plateforme open source extensible et portable permettant de gérer et d’orchestrer des charges de travail conteneurisées. Kubernetes simplifie les tâches de gestion de conteneurs complexes et vous fournit une configuration déclarative pour orchestrer les conteneurs dans différents environnements informatiques. Cette plateforme d’orchestration vous offre la même facilité d’utilisation et la même flexibilité que vous connaissez peut-être déjà avec les offres PaaS (platform as a service) ou IaaS (infrastructure as a service).

Image showing the Kubernetes logo amongst multiple containers running on a computer

Avantages

Les avantages offerts par l’utilisation de Kubernetes sont basés sur l’abstraction des tâches.

Diagram showing the benefits of Kubernetes including that it's self-healing, can scale dynamically, and has rolling updates.

Il s’agit notamment des tâches suivantes :

  • Auto-correction de conteneurs : par exemple, le redémarrage de conteneurs qui échouent ou le remplacement de conteneurs.
  • La mise à l’échelle dynamique du nombre de conteneurs déployés en fonction de la demande.
  • Automatisation des mises à jour propagées et des restaurations des conteneurs.
  • Gestion du stockage.
  • Gestion du trafic réseau.
  • Stockage et gestion des informations sensibles, telles que les noms d’utilisateur et les mots de passe.

Étant donné que Kuberentes est un outil permettant d’orchestrer des charges de travail en conteneur et que vous pouvez déployer des microservices .NET dans des conteneurs, vous pouvez utiliser Kubernetes pour orchestrer vos microservices .NET. C’est ce que le reste de ce module va vous faire découvrir.

Contrôler vos connaissances

1.

Pourquoi un orchestrateur de conteneurs est-il utile dans une architecture de microservices ?