Présentation
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.
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.
Clusters
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.
L'API et l'opérateur Kubernetes
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.
Pourquoi choisir Red Hat pour Kubernetes ?
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é.