Jump to section

L'orchestration des conteneurs, qu'est-ce que c'est ?

Copier l'URL

Red Hat classé leader dans le rapport Magic Quadrant™ de Gartner® de 2023

Red Hat a obtenu la meilleure note pour sa capacité d'exécution et sa vision globale dans la catégorie Gestion des conteneurs du rapport Magic Quadrant de Gartner de 2023.

L'orchestration des conteneurs permet d'automatiser le déploiement, la gestion, la mise à l'échelle et la mise en réseau des conteneurs. Les entreprises qui doivent déployer et gérer des centaines voire des milliers d'hôtes et de conteneurs Linux® peuvent en tirer avantage. 

Cette approche peut être utilisée dans tous les environnements qui exécutent des conteneurs. Elle permet de déployer la même application dans différents environnements sans avoir à la remanier. De plus, les microservices stockés dans les conteneurs simplifient l'orchestration des services, notamment les services de stockage, de réseau et de sécurité. 

Avec les conteneurs, les applications basées sur des microservices disposent d'une unité de déploiement et d'un environnement d'exécution parfaitement adaptés. Ils permettent d'exécuter plusieurs parties d'une application indépendamment les unes des autres, sur le même matériel, avec un niveau de contrôle bien plus élevé sur leurs éléments et cycles de vie.

Le recours à l'orchestration pour gérer le cycle de vie des conteneurs facilite la tâche des équipes DevOps chargées de l'intégrer dans les workflows CI/CD. Avec les interfaces de programmation d'application (API) et les pratiques DevOps, les microservices conteneurisés constituent la base des applications cloud-native.

L'orchestration des conteneurs sert à automatiser et gérer certaines tâches. En voici quelques exemples :

  • Le provisionnement et le déploiement
  • La configuration de l'ordonnancement 
  • L'allocation des ressources
  • La disponibilité des conteneurs 
  • La mise à l'échelle et le retrait de conteneur en fonction de l'équilibrage des charges de travail dans l'infrastructure
  • L'équilibrage de charge et le routage du trafic 
  • La surveillance de l'intégrité des conteneurs
  • La configuration des applications en fonction du conteneur dans lequel elles sont exécutées
  • La sécurisation des interactions entre conteneurs

Les outils d'orchestration des conteneurs fournissent un cadre pour la gestion des conteneurs et de l'architecture de microservices à grande échelle. Nombre d'entre eux peuvent servir pour la gestion du cycle de vie des conteneurs. Parmi les plus utilisés figurent Kubernetes, Docker Swarm et Apache Mesos.

Kubernetes est un outil d'orchestration des conteneurs Open Source développé et conçu, à l'origine, par des ingénieurs Google. Google a fait don du projet Kubernetes à la Cloud Native Computing Foundation lors de sa création en 2015.

Les fonctions d'orchestration de Kubernetes permettent de créer des services d'application sur plusieurs conteneurs, de planifier l'exécution des conteneurs dans un cluster, de les mettre à l'échelle et de gérer leur intégrité au fil du temps.

Kubernetes élimine de nombreux processus manuels associés au déploiement et à la mise à l'échelle des applications conteneurisées. Cette plateforme permet de gérer plus facilement et efficacement des clusters au sein desquels sont rassemblés des groupes d'hôtes (des machines physiques ou virtuelles) exécutant des conteneurs Linux. 

Autrement dit, elle aide à mettre en œuvre et à utiliser une infrastructure de conteneurs dans les environnements de production.

Ces clusters peuvent couvrir des hôtes situés dans des clouds publics, privés ou hybrides. C'est la raison pour laquelle Kubernetes est la plateforme idéale pour héberger les applications cloud-native qui requièrent une mise à l'échelle rapide.

Kubernetes contribue également à la portabilité de la charge de travail et à l'équilibrage de charge en permettant de déplacer des applications sans les remanier. 

Voici les principaux composants de Kubernetes :

  • Cluster : un plan de contrôle avec au moins une machine ou un nœud de calcul
  • Plan de contrôle : l'ensemble des processus qui contrôlent les nœuds Kubernetes. C'est lui qui procède à toutes les attributions de tâches.
  • Kubelet : service exécuté sur des nœuds qui lit les manifestes du conteneur pour s'assurer que les conteneurs définis ont démarré et fonctionnent
  • Pod : conteneur unique ou groupe de conteneurs déployés sur un seul nœud. Tous les conteneurs d'un pod partagent une adresse IP, une IPC, un nom d'hôte ainsi que d'autres ressources.

Lorsque vous utilisez un outil d'orchestration de conteneurs, tel que Kubernetes, vous devez décrire la configuration d'une application dans un fichier YAML ou JSON. Ce fichier de configuration indique ensuite à l'outil de gestion de la configuration où trouver les images de conteneurs, comment établir un réseau et où stocker les journaux.

Lors du déploiement d'un nouveau conteneur, l'outil de gestion planifie automatiquement le déploiement vers un cluster et trouve l'hôte adéquat, en tenant compte de toutes les exigences ou restrictions définies. L'outil d'orchestration gère ensuite le cycle de vie du conteneur sur la base des caractéristiques inscrites dans le fichier de composition.

Vous pouvez utiliser les modèles Kubernetes pour gérer la configuration, le cycle de vie et la mise à l'échelle des applications et services conteneurisés. Ces modèles reproductibles sont les outils nécessaires aux équipes de développement Kubernetes pour construire des systèmes complets. 

L'orchestration des conteneurs peut être utilisée dans tous les environnements qui exécutent des conteneurs, y compris les serveurs sur site et les environnements de cloud public ou privé.

En pratique, les applications de production s'étendent sur plusieurs conteneurs, qui doivent être déployés sur différents hôtes serveur. C'est là que Red Hat® entre en jeu.

La solution Red Hat  OpenShift® est une version de Kubernetes adaptée aux entreprises, mais pas seulement. Elle inclut de nombreuses technologies supplémentaires qui font de Kubernetes un outil puissant et viable pour les entreprises, notamment : les registres, la mise en réseau, la télémétrie, la sécurité, l'automatisation et les services.

En outre, avec des outils tels que Red Hat Service Interconnect, les routeurs et les passerelles fournissent des liens de communication fiables entre les services répartis sur différents clouds, appareils d'edge computing et déploiements Kubernetes et OpenShift.

Avec Red Hat, les équipes de développement peuvent créer des applications conteneurisées haute disponibilité, les héberger et les déployer dans le cloud tout en bénéficiant du niveau d'évolutivité, de contrôle et d'orchestration nécessaire pour concrétiser rapidement les bonnes idées.

Essayez, achetez et gérez des logiciels certifiés dans les clouds publics et privés ainsi que dans votre datacenter. C'est la proposition de Red Hat Marketplace. Il s'agit d'un moyen simple d'accéder aux logiciels sur lesquels vous comptez déjà, de créer des applications dans un environnement unifié basé sur Kubernetes et de les déployer où vous voulez.

Red Hat Marketplace vous permet de consacrer plus de temps au développement de solutions innovantes qu'au suivi des licences, des droits et des dates d'expiration.

Pour aller plus loin

ARTICLE

Conteneurs et machines virtuelles

Les conteneurs Linux et les machines virtuelles sont des environnements informatiques en paquets qui associent divers composants et les isolent du reste du système.

ARTICLE

L'orchestration des conteneurs, qu'est-ce que c'est ?

L'orchestration des conteneurs permet d'automatiser le déploiement, la gestion, la mise à l'échelle et la mise en réseau des conteneurs.

ARTICLE

Un conteneur Linux, qu'est-ce que c'est ?

Un conteneur Linux est un ensemble de processus isolés du système. Un conteneur s'exécute à partir d'une image distincte qui fournit tous les fichiers nécessaires à la prise en charge des processus qu'il contient.

En savoir plus sur les conteneurs

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Ressources

Formations

Cours gratuit

Présentation technique de l'exécution de conteneurs avec Red Hat

Cours gratuit

Présentation technique du déploiement d'applications conteneurisées

Cours gratuit

Développement d'applications cloud-native avec des architectures de microservices