Jump to section

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

Copier l'URL

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 ont besoin de déployer et de gérer des centaines ou des milliers de conteneurs Linux® et d'hôtes peuvent tirer parti de l'orchestration des conteneurs.

Cette technologie est compatible avec tous les environnements qui exécutent des conteneurs. Elle permet de déployer la même application dans différents environnements sans modifier sa conception. 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. Les conteneurs permettent d'exécuter plusieurs parties d'une application dans des microservices, 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.

La gestion du cycle de vie des conteneurs avec l'orchestration aide également les équipes DevOps qui l'intègrent 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.

Vous pouvez utiliser l'orchestration des conteneurs pour automatiser et gérer les tâches suivantes :

  • Provisionnement et déploiement
  • Configuration et planification
  • Allocation des ressources
  • Disponibilité des conteneurs
  • Mise à l'échelle ou suppression de conteneurs en fonction des charges de travail dans l'infrastructure
  • Équilibrage de la charge et routage du trafic
  • Surveillance de l'intégrité des conteneurs
  • Configuration des applications en fonction du conteneur sur lequel elles vont s'exécuter
  • Sécurisation des interactions entre les conteneurs

Les outils d'orchestration des conteneurs fournissent un cadre pour la gestion à grande échelle de l'architecture de conteneurs et de microservices. Beaucoup de solutions sont disponibles sur le marché pour aider à gérer le cycle de vie des conteneurs. Parmi les plus connues, on peut citer Kubernetes, Docker Swarm et Apache Mesos.

Kubernetes est un outil d'orchestration des conteneurs Open Source, développé à l'origine par des ingénieurs de 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 vous permettent de créer des services d'applications 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 une bonne partie des processus manuels associés au déploiement et à la mise à l'échelle des applications conteneurisées. Il vous aide à gérer facilement et efficacement des clusters au sein desquels vous aurez rassemblé des groupes d'hôtes (des machines physiques ou virtuelles) exécutant des conteneurs Linux.

Autrement dit, Kubernetes vous aide à mettre en œuvre et à utiliser une infrastructure de conteneurs dans vos environnements de production.

Ces clusters peuvent englober des hôtes situés sur 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.

Enfin, Kubernetes améliore la portabilité des charges de travail et facilite leur équilibrage en vous permettant de déplacer les applications sans modifier leur conception.

Principaux composants de Kubernetes :

  • Cluster : plan de contrôle avec une ou plusieurs machines de calcul (ou nœuds).
  • Plan de contrôle : ensemble de processus qui contrôle les nœuds Kubernetes et assigne toutes les 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 : groupe d'un ou de plusieurs conteneurs déployés sur un seul nœud. Tous les conteneurs d'un pod partagent une même adresse IP, un même IPC, un même nom d'hôte et d'autres ressources.

Lorsque vous utilisez un outil d'orchestration des conteneurs comme Kubernetes, vous décrivez la configuration de l'application à l'aide de fichiers YAML ou JSON. Le fichier de configuration indique à l'outil de gestion des conteneurs 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 des conteneurs programme automatiquement le déploiement vers un cluster et trouve l'hôte approprié en tenant compte de toutes les exigences ou restrictions définies. L'outil d'orchestration gère alors le cycle de vie du conteneur d'après les caractéristiques indiquées dans le fichier de composition.

Vous pouvez utiliser des modèles Kubernetes pour gérer la configuration, le cycle de vie et la mise à l'échelle des applications et services basés sur des conteneurs. Un développeur Kubernetes peut ainsi créer des systèmes complets à partir de ces modèles reproductibles.

L'orchestration des conteneurs est possible dans tous les environnements qui exécutent des conteneurs, y compris les serveurs sur site, les clouds publics et les clouds privés.

Les véritables applications de production s'étendent sur plusieurs conteneurs, des conteneurs qui doivent être déployés sur différents hôtes serveur. C'est là que Red Hat® OpenShift® entre en scène. Cette solution est une version de Kubernetes adaptée aux entreprises, mais pas seulement.

Red Hat OpenShift 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.

Avec Red Hat OpenShift, les développeurs peuvent créer des applications conteneurisées, les héberger et les déployer dans le cloud tout en bénéficiant d'une évolutivité, d'un contrôle et d'une orchestration d'une efficacité telle que vos idées pourront vite devenir réalité.

Essayez, achetez et gérez des logiciels certifiés dans des clouds publics, des clouds privés et votre datacenter, tout cela depuis Red Hat Marketplace. Grâce à cette plateforme, vous pouvez plus facilement accéder aux logiciels que vous utilisez déjà, créer un environnement unifié basé sur Kubernetes et déployer vos applications dans l'environnement de votre choix.

Avec Red Hat Marketplace, vous n'avez plus à vous soucier des licences, des droits d'accès et des dates d'expiration et pouvez vous consacrer à l'innovation.

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