Jump to section

L'API Kubernetes, qu'est-ce que c'est ?

Copier l'URL

L'API Kubernetes est la partie front-end du plan de contrôle Kubernetes. C'est le moyen d'interaction entre les utilisateurs et le cluster Kubernetes. Le serveur d'API (interface de programmation d'application) détermine si une requête est valide pour ensuite la traiter.

En résumé, l'API est l'interface utilisée pour gérer, créer et configurer les clusters Kubernetes. C'est le moyen de communication entre les utilisateurs, les composants externes et certaines parties de votre cluster.

Au centre du plan de contrôle Kubernetes se trouvent le serveur d'API et l'API HTTP qu'il expose, ce qui permet d'envoyer une requête et de manipuler l'état des objets Kubernetes. 

Pour comprendre l'usage de l'API Kubernetes, il faut d'abord prendre du recul et s'intéresser à Kubernetesdans son ensemble. 

Kubernetes est une plateforme Open Source qui orchestre les conteneurs. Un conteneur est une technologie qui permet de mettre en paquets et d'isoler les applications avec leur environnement d'exécution entier, pour faciliter le passage des applications entre les différentes étapes du cycle de vie (développement, production, etc.) et les environnements (sur site, cloud public, cloud privé, cloud hybride ou multicloud), tout en conservant toutes leurs fonctionnalités. 

En tant que plateforme d'orchestration des conteneurs, Kubernetes automatise une bonne partie des processus manuels liés à la gestion, au déploiement et à la mise à l'échelle des applications conteneurisées.

En regroupant les machines (serveurs physiques ou virtuels appelés « nœuds ») qui exécutent les applications conteneurisées, vous créez un cluster, que vous gérez et orchestrez avec Kubernetes.

Un groupe de conteneurs qui partagent des ressources et qui sont exécutés sur une seule machine (ou nœud) s'appelle un « pod ». Cependant, lorsqu'un « pod » ne contient qu'un seul conteneur, on parle simplement de « conteneur », mais le concept reste le même.

Un cluster Kubernetes est composé de deux parties : le plan de contrôle et le plan d'application. L'API se trouve dans le plan de contrôle. Elle permet à l'utilisateur d'interagir avec le cluster et de le contrôler via l'outil de ligne de commande kubectl. Grâce à l'API, les utilisateurs finaux, le cluster et les composants externes peuvent communiquer les uns avec les autres. 

Les clusters ont chacun un état souhaité qui définit les applications ou charges de travail à exécuter, et d'autres détails de configuration, par exemple les images à utiliser et les ressources nécessaires. L'état souhaité du cluster est défini en utilisant l'API, soit avec l'outil de ligne de commande kubectl, soit en interagissant avec le cluster via l'API pour configurer ou modifier l'état souhaité.

Kubernetes gère ensuite votre cluster de façon automatique pour qu'il corresponde à l'état souhaité.Kubernetes est déclaratif, c'est-à-dire qu'il essaie toujours de s'autogérer et de s'autoréparer en fonction des paramètres définis pour sa charge de travail.

Un opérateur Kubernetes est une méthode qui permet de mettre en paquet, déployer et gérer une application en utilisant l'API via l'outil kubectl. 

Dans Kubernetes, un opérateur est un contrôleur spécifique à une application qui étend les fonctions de l'API Kubernetes afin de créer, configurer et gérer des instances d'applications complexes au nom d'un utilisateur. En incluant des informations propres au domaine ou à l'application, il permet à Kubernetes d'automatiser le cycle de vie entier du logiciel qu'il gère.

En tant que leader des technologies de conteneurs Open Source et créateur d'outils et de produits de gestion des infrastructures de conteneurs, Red Hat aide votre entreprise à adopter Kubernetes et les conteneurs.

Avec Red Hat® OpenShift®, vous bénéficiez d'une plateforme de conteneurs Open Source pour les entreprises qui contient tout ce dont vous avez besoin pour gérer les déploiements multicloud et de clouds hybrides. Nous aidons votre entreprise à faire la transition vers le cloud, tout en continuant à exploiter le potentiel de votre infrastructure actuelle. 

Une plateforme unique et intégrée offre aux développeurs le choix du langage, du middleware, des frameworks et des bases de données, et la possibilité de déployer l'automatisation pour gagner en efficacité et 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.

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