Account Se connecter
Jump to section

Un cluster Kubernetes, qu'est-ce que c'est ?

Copier l'URL

Un cluster Kubernetes est un ensemble de machines (les nœuds) qui permettent d'exécuter des applications conteneurisées. Si vous exécutez Kubernetes, vous exécutez un cluster.

Un cluster comprend au minimum un plan de contrôle avec une ou plusieurs machines de calcul (ou nœuds). Le plan de contrôle est responsable du maintien du cluster dans un état souhaité, c'est-à-dire qu'il vérifie, par exemple, les applications exécutées et les images de conteneurs utilisées. Ce sont les nœuds qui exécutent concrètement les applications et les charges de travail.

Le cluster fournit le principal avantage de Kubernetes, à savoir la possibilité de planifier et d'exécuter des conteneurs au sein d'un groupe de machines, physiques ou virtuelles, sur site ou dans le cloud. Les conteneurs Kubernetes ne sont pas liés à des machines individuelles. Au contraire, ils sont dissociés au sein du cluster.

Un cluster Kubernetes se trouve dans un état souhaité, qui détermine les applications ou autres charges de travail à exécuter, ainsi que les images à utiliser, les ressources qui leur sont allouées et d'autres informations de configuration.

Un état souhaité est défini par des fichiers de configuration constitués de manifestes. Ces manifestes sont des fichiers JSON ou YAML qui permettent de déclarer le type d'application à exécuter et le nombre de réplicas nécessaires pour exécuter un système sain.

C'est l'API Kubernetes qui permet de définir l'état souhaité d'un cluster. Vous pouvez interagir avec le cluster pour définir ou modifier l'état souhaité à partir de la ligne de commande (avec kubectl) ou en utilisant l'API.

Kubernetes se charge ensuite de maintenir votre cluster dans l'état souhaité, de façon automatique. Pour donner un exemple simple, supposons que vous cherchiez à déployer une application avec un état souhaité de « 3 », ce qui signifie que trois réplicas de l'application doivent être exécutés. Si l'un de ces conteneurs tombe en panne, Kubernetes détecte que seuls deux réplicas sont exécutés et en ajoute donc un troisième pour atteindre l'état souhaité.

Vous pouvez également utiliser des modèles Kubernetes pour mettre à l'échelle automatiquement votre cluster en fonction de la charge. 

Terminologie Kubernetes associée aux clusters

Nous avons défini un cluster comme étant un ensemble de nœuds. Examinons d'autres éléments de Kubernetes afin de mieux comprendre la fonction d'un cluster.

Plan de contrôle : ensemble de processus qui contrôle les nœuds Kubernetes et assigne toutes les tâches.

Nœuds : machines qui exécutent les tâches qui leur sont assignées par le plan de contrôle.

Pod : un ou plusieurs conteneurs déployés sur un seul nœud. Le pod est l'objet Kubernetes le plus petit et le plus simple.

Service : méthode qui permet d'exposer une application exécutée sur un ensemble de pods en tant que service réseau. Le service dissocie la définition des tâches des pods.

Volume : répertoire contenant des données auxquelles les conteneurs d'un pod peuvent accéder. Un volume Kubernetes a la même durée de vie que le pod dans lequel il se trouve et cette durée de vie dépasse celle de n'importe quel conteneur exécuté dans le pod. Ainsi, les données sont conservées lorsqu'un conteneur redémarre.

Espace de noms : cluster virtuel. Les espaces de noms permettent à Kubernetes de gérer plusieurs clusters (pour plusieurs équipes ou projets) au sein d'un même cluster physique.

Avec l'émergence des applications cloud-native modernes, les environnements Kubernetes deviennent toujours plus distribués. Ils peuvent être déployés sur de nombreux datacenters, sur site, dans un cloud public et à la périphérie du réseau.

Les entreprises qui souhaitent utiliser Kubernetes à grande échelle ou en production devront posséder plusieurs clusters (pour le développement, les tests et la production) distribués entre différents environnements, et être en mesure de les gérer efficacement.

La gestion des clusters Kubernetes désigne la façon dont une équipe informatique gère un groupe de clusters Kubernetes. 

Red Hat est un leader du secteur et l'un des principaux contributeurs des technologies de conteneurs Open Source, y compris de Kubernetes. Chez Red Hat, nous créons les outils essentiels pour sécuriser, simplifier et mettre à jour automatiquement votre infrastructure de conteneurs. 

Red Hat® OpenShift® est une distribution Kubernetes d'entreprise qui permet de bénéficier d'une plateforme unique et intégrée pour l'exploitation et le développement. La solution Red Hat OpenShift offre aux développeurs le choix des langages, des frameworks, des middlewares et des bases de données, et la possibilité de déployer l'automatisation grâce à l'approche CI/CD afin d'optimiser la productivité.

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.

DevNation: The Show

Rejoignez la DevNation un jeudi sur deux pour une heure de chat en direct sur tout ce qui concerne Kubernetes, Java et Linux. 

Meetup

Vous souhaitez assister à des talks, des retours d'expérience ou simplement échanger avec des utilisateurs d'Openshift ?

En savoir plus sur les conteneurs

Produits

Red Hat OpenShift

Plateforme de conteneurs Kubernetes pour les entreprises qui automatise l'exploitation de toute la pile pour la gestion des déploiements multicloud, de clouds hybrides et d'edge computing.

Ressources

Liste de contrôle

Développement d'applications en conteneurs : 5 thèmes à aborder avec votre équipe

Fiche technique

Red Hat Advanced Cluster Management for Kubernetes

Fiche technique

Red Hat OpenShift : une technologie de conteneurs pour le cloud hybride

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

Illustration - mail

Ce type de contenu vous intéresse ?

Inscrivez-vous à notre newsletter Red Hat Shares.

Red Hat logo LinkedInYouTubeFacebookTwitter

Produits

Outils

Essayer, acheter et vendre

Communication

À propos de Red Hat

Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.

Inscrivez-vous à la newsletter Red Hat Shares.

S'inscrire maintenant

Sélectionner une langue

© 2022 Red Hat, Inc.