Définition
L'orchestration des conteneurs est le processus qui 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 la même application dans différents environnements sans avoir à la remanier, ce qui est particulièrement important pour les entreprises qui doivent déployer et gérer des centaines ou milliers d'hôtes et de conteneurs Linux®.
Le recours à l'orchestration pour gérer le cycle de vie des conteneurs facilite la tâche des équipes DevOps qui l'intègrent aux workflows CI/CD (intégration et distribution continues). Avec les interfaces de programmation d'application (API) et les pratiques DevOps, les microservices conteneurisés constituent la base des applications cloud-native.
Utilisation
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
Ressources Red Hat
Outils
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, 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.
Les fonctions d'orchestration de Kubernetes permettent de créer des services d'applications sur 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 physiques ou virtuelles) exécutant des conteneurs Linux.
Autrement dit, elle aide à mettre en œuvre et utiliser 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.
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.
Fonctionnement
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 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.
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é.
Orchestration des conteneurs d'entreprise
En pratique, les applications en production s'étendent sur plusieurs conteneurs qui doivent être déployés sur différents hôtes de serveur. C'est là que les solutions Red Hat® entrent en jeu.
La plateforme Red Hat OpenShift® est une version de Kubernetes adaptée aux entreprises et enrichie de nombreuses fonctions. Elle inclut diverses 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 d'autres services.
En outre, grâce aux outils tels que Red Hat Service Interconnect, les routeurs et les passerelles fournissent des liens de communication fiables entre les services répartis entre 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, les héberger et les déployer dans le cloud tout en bénéficiant du niveau de haute disponibilité, d'évolutivité, de contrôle et d'orchestration nécessaire pour concrétiser rapidement et facilement toutes les idées.
Logiciels certifiés pour les déploiements conteneurisés
Essayez, achetez et gérez des logiciels certifiés dans des clouds publics et privés, ainsi que dans votre datacenter via Red Hat Marketplace. Cette plateforme offre un moyen simple d'accéder aux logiciels sur lesquels vous comptez déjà, de créer des applications dans un environnement unifié et basé sur Kubernetes ainsi que 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 d'accès et des dates d'expiration.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.