Chapitre 1. Aperçu de Kubernetes


Kubernetes est un outil d'orchestration de conteneurs open source développé par Google. Kubernetes permet d'exécuter et de gérer des charges de travail basées sur des conteneurs. Le cas d'utilisation le plus courant de Kubernetes est le déploiement d'un ensemble de microservices interconnectés, construisant une application de manière native dans le nuage. Vous pouvez créer des clusters Kubernetes qui peuvent s'étendre sur des hôtes dans des clouds sur site, publics, privés ou hybrides.

Traditionnellement, les applications étaient déployées sur un seul système d'exploitation. Avec la virtualisation, vous pouvez diviser l'hôte physique en plusieurs hôtes virtuels. Travailler avec des instances virtuelles sur des ressources partagées n'est pas optimal en termes d'efficacité et d'évolutivité. Étant donné qu'une machine virtuelle (VM) consomme autant de ressources qu'une machine physique, la fourniture de ressources à une VM, telles que l'unité centrale, la mémoire vive et l'espace de stockage, peut s'avérer coûteuse. En outre, vous risquez de voir les performances de votre application se dégrader en raison de l'utilisation d'instances virtuelles sur des ressources partagées.

Figure 1.1. Évolution des technologies de conteneurs pour les déploiements classiques

247 OpenShift Kubernetes Overview

Pour résoudre ce problème, vous pouvez utiliser des technologies de conteneurisation qui séparent les applications dans un environnement conteneurisé. À l'instar d'une machine virtuelle, un conteneur possède son propre système de fichiers, son vCPU, sa mémoire, son espace de traitement, ses dépendances, etc. Les conteneurs sont découplés de l'infrastructure sous-jacente et sont portables à travers les nuages et les distributions de systèmes d'exploitation. Les conteneurs sont par nature beaucoup plus légers qu'un système d'exploitation complet et sont des processus isolés légers qui s'exécutent sur le noyau du système d'exploitation. Les VM sont plus lentes à démarrer et constituent une abstraction du matériel physique. Les VM s'exécutent sur une seule machine à l'aide d'un hyperviseur.

Vous pouvez effectuer les actions suivantes en utilisant Kubernetes :

  • Partage des ressources
  • Orchestrer les conteneurs sur plusieurs hôtes
  • Installation de nouvelles configurations matérielles
  • Exécution de contrôles de santé et d'applications d'autoréparation
  • Mise à l'échelle des applications conteneurisées

1.1. Composants Kubernetes

Tableau 1.1. Composants Kubernetes
ComposantObjectif

kube-proxy

S'exécute sur chaque nœud du cluster et maintient le trafic réseau entre les ressources Kubernetes.

kube-controller-manager

Régit l'état de la grappe.

kube-scheduler

Attribue des modules aux nœuds.

etcd

Stocke les données de la grappe.

kube-apiserver

Valide et configure les données pour les objets API.

kubelet

S'exécute sur les nœuds et lit les manifestes des conteneurs. S'assure que les conteneurs définis ont démarré et sont en cours d'exécution.

kubectl

Permet de définir la manière dont vous souhaitez exécuter les charges de travail. Utilisez la commande kubectl pour interagir avec la commande kube-apiserver.

Nœud

Le nœud est une machine physique ou une VM dans un cluster Kubernetes. Le plan de contrôle gère chaque nœud et planifie les pods sur les nœuds du cluster Kubernetes.

durée d'exécution du conteneur

exécute des conteneurs sur un système d'exploitation hôte. Vous devez installer un moteur d'exécution de conteneur sur chaque nœud pour que les pods puissent s'exécuter sur le nœud.

Stockage permanent

Stocke les données même après l'arrêt de l'appareil. Kubernetes utilise des volumes persistants pour stocker les données de l'application.

container-registry

Stocke les images des conteneurs et y accède.

Cosse

Le pod est la plus petite unité logique de Kubernetes. Un pod contient un ou plusieurs conteneurs à exécuter dans un worker node.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.