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

Copier l'URL

L'orchestration des conteneurs consiste à automatiser le déploiement, la gestion, la mise à l'échelle et la mise en réseau des conteneurs tout au long de leur cycle de vie. Ce processus permet de déployer des logiciels en toute cohérence dans de nombreux environnements différents, et ce, à grande échelle.

Les conteneurs, qui mettent en paquet une application et son environnement d'exécution dans une unité autonome, sont la base du développement d'applications cloud-native. L'orchestration des conteneurs est particulièrement importante pour les entreprises qui doivent déployer et gérer des centaines voire des milliers d'hôtes et de conteneurs. La plupart des solutions d'orchestration des conteneurs sont basées sur Kubernetes, une plateforme Open Source couramment utilisée.

Lire le livre numérique : Innover et transformer l'entreprise à l'aide d'une plateforme d'applications moderne

L'orchestration des conteneurs offre divers avantages en matière de méthodes de développement, de coûts et de sécurité.

Accélération du développement

Les conteneurs, qui sont portables et s'exécutent de manière cohérente entre les différents environnements, permettent d'adopter des méthodes de développement logiciel plus rapides. L'orchestration des conteneurs facilite la création de pipelines de CI/CD (intégration et déploiement continus), qui améliorent la distribution des logiciels tout au long du cycle de développement logiciel grâce à l'automatisation. En outre, ce processus s'inscrit dans une approche DevOps qui vise à accélérer la concrétisation des projets, du développement au déploiement.

Économies

L'orchestration des conteneurs permet de mettre automatiquement à l'échelle les conteneurs en fonction des besoins, et fournit donc les capacités nécessaires aux applications tout en conservant les ressources et en réduisant les coûts. Une plateforme d'orchestration des conteneurs peut offrir aux entreprises la flexibilité dont elles ont besoin pour utiliser efficacement des environnements multicloud et hybrides.

Sécurité

Le développement de logiciels dans des conteneurs permet aux équipes de corriger les problèmes de sécurité lors de la phase de création, plutôt que de mettre à jour une application en cours d'exécution ou de déployer des correctifs. De cette façon, il est possible de mieux prévoir le comportement des conteneurs et de détecter les comportements anormaux. Grâce à l'orchestration des conteneurs, les entreprises peuvent également appliquer des politiques de sécurité et de gouvernance, et les segmenter par pod ou groupe de pods. En outre, les plateformes d'orchestration des conteneurs prennent en charge le contrôle d'accès basé sur les rôles, qui permet d'attribuer des autorisations spécifiques aux utilisateurs et aux comptes de service.

Ressources Red Hat

L'orchestration des conteneurs sert à automatiser et gérer certaines tâches, notamment :

  • Le provisionnement et le déploiement
  • La configuration et l'ordonnancement
  • L'allocation des ressources
  • La mise à disposition des conteneurs
  • La mise à l'échelle et le retrait de conteneurs 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 Open Source d'orchestration des conteneurs, qui a été développé et conçu à l'origine par des ingénieurs Google. Google a fait don du projet Kubernetes à la Cloud Native Computing Foundation à sa fondation en 2015.

Rôle de Kubernetes dans l'orchestration des conteneurs

Les fonctions d'orchestration de Kubernetes permettent de créer des services d'applications couvrant plusieurs conteneurs, d'ordonnancer 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 virtuelles ou physiques) exécutant des conteneurs Linux.

Autrement dit, Kubernetes facilite la mise en œuvre et l'utilisation d'une infrastructure de conteneurs dans des 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é des charges de travail et à l'équilibrage de charge en permettant de déplacer des applications sans les remanier.

Voici les principaux composants de Kubernetes :

  • Cluster : plan de contrôle avec au moins une machine de calcul (un nœud).
  • Plan de contrôle : ensemble des processus qui contrôlent les nœuds Kubernetes. C'est du plan de contrôle qu'émanent 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, un espace de noms IPC, un nom d'hôte ainsi que d'autres ressources.

Les outils d'orchestration des conteneurs tels que Kubernetes reposent sur l'utilisation d'un fichier YAML ou JSON qui décrit la configuration d'une application. Ce fichier de configuration indique à l'outil de gestion des configurations 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.

Les modèles Kubernetes peuvent être utilisés pour gérer la configuration, le cycle de vie et la mise à l'échelle des applications et services conteneurisés. Les équipes de développement Kubernetes ont besoin de ces modèles reproductibles pour assembler des systèmes complets.

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

Un déploiement Kubernetes, qu'est-ce que c'est ?

Nous sommes l'un des leaders du secteur et l'un des principaux contributeurs des technologies Open Source de conteneurisation. Nous créons les outils essentiels pour sécuriser, simplifier et mettre à jour automatiquement l'infrastructure de conteneurs.

Avec Red Hat® OpenShift®, les équipes de développement peuvent créer des applications conteneurisées, 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 toutes les idées. Pour le déploiement et la migration des charges de travail Kubernetes vers un service cloud géré, OpenShift est également disponible sous forme de service cloud-native sur AWS, Microsoft Azure, Google Cloud, IBM Cloud et auprès d'autres fournisseurs.

Sur la base d'OpenShift, il est possible d'utiliser Red Hat Advanced Cluster Management et Red Hat Ansible® Automation Platform ensemble pour déployer et gérer efficacement plusieurs clusters Kubernetes dans tous les environnements, notamment dans le cloud public, sur site et en périphérie du réseau.

Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits Red Hat pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

Qu'est-ce qu'un cluster Kubernetes ?

Un cluster Kubernetes est un ensemble de machines qui permettent d'exécuter des applications conteneurisées.

Les conteneurs en sandbox, qu'est-ce que c'est ?

Les conteneurs en sandbox isolent un programme du reste du système grâce à des machines virtuelles légères qui lancent les conteneurs dans des pods.

Un plan de contrôle hébergé, qu'est-ce que c'est ?

Les plans de contrôle hébergés permettent d'exécuter des plans de contrôle sur des nœuds plus petits, ce qui réduit le coût des clusters et facilite l'adoption d'une véritable stratégie de cloud hybride.

Conteneurs : ressources recommandées

Articles associés