Jump to section

Un opérateur Kubernetes, qu'est-ce que c'est ?

Copier l'URL

Un opérateur Kubernetes est une méthode qui permet de mettre en paquet, déployer et gérer une application Kubernetes. Une application Kubernetes est déployée sur Kubernetes et gérée à l'aide de l'API (interface de programmation d'application) Kubernetes et des outils de kubectl.

Un opérateur Kubernetes est un contrôleur spécifique à une application qui permet d'étendre les fonctions de l'API Kubernetes afin de créer, configurer et gérer des instances d'applications complexes au nom d'un utilisateur Kubernetes.

Il s'appuie sur les concepts de base de ressource et contrôleur Kubernetes, mais inclut des connaissances spécifiques à une application ou un domaine pour automatiser le cycle de vie complet du logiciel dont il assure la gestion. 

Dans Kubernetes, les contrôleurs du plan de contrôle mettent en œuvre des boucles de contrôle qui comparent en continu l'état actuel du cluster avec son état souhaité. Si l'état souhaité n'est pas atteint, le contrôleur met en œuvre les actions adéquates pour résoudre le problème. 

Un opérateur est un contrôleur Kubernetes sur mesure qui utilise des ressources personnalisées pour gérer des applications et leurs composants. L'utilisateur fournit une configuration et des paramètres de haut niveau par l'intermédiaire d'une ressource personnalisée. L'opérateur Kubernetes traduit alors ces directives de haut niveau en actions de bas niveau, en suivant les bonnes pratiques intégrées à sa logique.

La ressource personnalisée correspond au mécanisme d'extension d'API dans Kubernetes. Une définition de ressource personnalisée (CRD) permet aux utilisateurs de définir une ressource personnalisée. Elle indique tous les éléments de configuration auxquels peuvent accéder les utilisateurs de l'opérateur. 

L'opérateur Kubernetes examine le type de ressource personnalisée et met en œuvre les actions appropriées, spécifiques à l'application, pour faire correspondre l'état actuel avec l'état souhaité de cette ressource.

Les définitions de ressources personnalisées permettent aux opérateurs Kubernetes d'introduire de nouveaux types d'objets. L'API Kubernetes peut les manipuler de la même manière que les objets intégrés. Elle permet, par exemple, d'interagir avec ces définitions via kubectl et de les inclure dans des politiques de contrôle d'accès basé sur les rôles.

Au cours de son exécution, un opérateur Kubernetes continue de surveiller son application et peut automatiser des tâches telles que la sauvegarde des données, la récupération après défaillance, ainsi que la mise à niveau de l'application au fil du temps. 

Mise à l'échelle d'une application complexe, mise à niveau des versions d'applications, gestion des modules de noyau pour des nœuds dans un cluster de calcul avec du matériel spécialisé... Les actions possibles via un opérateur Kubernetes sont quasi illimitées.

Apprenez-en plus sur le fonctionnement des opérateurs Kubernetes, à travers des exemples concrets, ainsi que sur la façon de les créer avec Operator Framework et le kit de développement logiciel.

Operator Framework est un projet Open Source qui fournit, aux développeurs et à l'environnement d'exécution, les outils Kubernetes pour accélérer le développement d'un opérateur.

Le projet Operator Framework inclut :

  • Operator SDK : permet aux développeurs de créer des opérateurs sur la base de leurs connaissances, sans avoir à apprendre les subtilités des API Kubernetes.
  • Operator Lifecycle Manager : supervise l'installation, les mises à jour et la gestion du cycle de vie de tous les opérateurs exécutés au sein d'un cluster Kubernetes.
  • Operator Metering : permet de générer des rapports concernant les opérateurs qui fournissent des services spécifiques.

La solution Red Hat® OpenShift® est une plateforme de conteneurs Kubernetes pour les entreprises qui automatise l'exploitation de toute la pile pour la gestion des déploiements multicloud et de clouds hybrides.

Red Hat OpenShift utilise les opérateurs Kubernetes pour exécuter toute la plateforme de manière autonome, tout en rendant la configuration nativement disponible grâce aux objets Kubernetes, ce qui permet d'effectuer des installations rapides et des mises à jour fréquentes et fiables. 

Intégré à Red Hat OpenShift, OperatorHub est un registre d'opérateurs certifiés provenant de fournisseurs de logiciels et de projets Open Source. Dans OperatorHub, vous pouvez parcourir et installer une bibliothèque d'opérateurs certifiés compatibles avec Red Hat OpenShift et mis en paquets pour une gestion du cycle de vie simplifiée.

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