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 contient au minimum un nœud de calcul et un nœud de gestion. Le nœud de gestion est responsable de maintenir le 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 de calcul 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.
Examinons d’autres éléments de Kubernetes afin de mieux comprendre la fonction d’un cluster :
- Nœud de gestion : machine qui contrôle les nœuds Kubernetes et assigne les tâches.
- Nœuds de calcul : machines qui exécutent les tâches qui leur sont assignées. Ces nœuds sont contrôlés par le nœud de gestion Kubernetes.
- 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.
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é.