Raccourcis
Tarification

Les opérateurs Red Hat OpenShift, qu'est-ce que c'est ?

Copier l'URL

À quoi servent les opérateurs Red Hat® OpenShift® ?

Les opérateurs Red Hat® OpenShift® automatisent la création, la configuration et la gestion des instances d'applications natives pour Kubernetes. Ils facilitent la mise en œuvre de l'automatisation à tous les niveaux de la pile, de la gestion des composants de la plateforme aux applications fournies en tant que services gérés.

Comment fonctionnent les opérateurs Red Hat® OpenShift® ?

Red Hat OpenShift exploite la puissance des opérateurs pour exécuter l'ensemble de 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. Outre les avantages qu'offrent les opérateurs en matière d'automatisation de la gestion de la plateforme, Red Hat OpenShift facilite la recherche, l'installation et la gestion des opérateurs exécutés dans les clusters.

Le registre OperatorHub, qu'est-ce que c'est ?

Intégré à Red Hat OpenShift, le registre OperatorHub regroupe des opérateurs certifiés provenant d'éditeurs 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 paquet pour une gestion du cycle de vie simplifiée.

Les opérateurs Kubernetes permettent de mettre en paquet, de déployer et de gérer des applications natives pour Kubernetes. Une application native pour Kubernetes est déployée sur Kubernetes et gérée à l'aide des API Kubernetes et des outils de kubectl.

Par définition, les opérateurs sont des contrôleurs personnalisés.

Les contrôleurs sont un concept fondamental de Kubernetes. Ils sont mis en œuvre sous la forme de boucles logicielles qui s'exécutent en continu sur les nœuds de gestion Kubernetes pour comparer l'état actuel des objets par rapport à l'état souhaité qui a été déclaré et, le cas échéant, les faire coïncider. Les objets sont des ressources de type Pods, Services, ConfigMaps ou PersistentVolumes. Les opérateurs appliquent ce modèle au niveau d'applications entières et sont, en réalité, des contrôleurs propres aux applications.

Les opérateurs sont les logiciels qui s'exécutent dans un pod du cluster et qui interagissent avec le serveur d'API Kubernetes. Ils peuvent introduire de nouveaux types d'objets à l'aide des définitions de ressources personnalisées, un mécanisme d'extension de Kubernetes. Ces objets personnalisés constituent l'interface principale pour les utilisateurs, conformément au modèle d'interaction basé sur les ressources appliqué dans le cluster Kubernetes.

Les opérateurs surveillent ces types de ressources personnalisées et sont informés de leur présence ou de leur modification. Lorsqu'ils reçoivent des notifications, les opérateurs lancent l'exécution d'une boucle pour s'assurer que toutes les connexions requises pour le service d'application représenté par ces objets sont effectivement disponibles et configurées conformément à ce qu'ont déclaré les utilisateurs dans les spécifications des objets.

Livre numérique

O'Reilly – Kubernetes Operators: Automating the Container Orchestration Platform

Apprenez-en plus sur le fonctionnement des opérateurs et sur leur création avec Operator Framework et Operator SDK.

Operator Framework est un projet Open Source qui fournit aux développeurs et aux administrateurs de clusters les outils pour accélérer le développement et le déploiement des opérateurs.

Le projet comprend le kit de développement logiciel Operator SDK pour la création d'applications Kubernetes, un framework de gestion pour enrichir Kubernetes avec des opérateurs, ainsi qu'un catalogue des opérateurs issus de la communauté Kubernetes.

Opérateurs communautaires

Les développeurs et les administrateurs de clusters peuvent accéder à des opérateurs qui ont été créés par la communauté. Ils peuvent ainsi tester des opérateurs à différents niveaux de maturité et qui fonctionnent dans tout type d'environnement Kubernetes. Ces opérateurs communautaires sont disponibles sur OperatorHub.io.

Opérateurs certifiés

Le registre OperatorHub regroupe les opérateurs certifiés Red Hat OpenShift. Les développeurs et les administrateurs de clusters peuvent y accéder pour exploiter toute une bibliothèque de charges de travail « en tant que service », compatible avec Red Hat OpenShift et soutenue par Red Hat et ses partenaires.

Le kit de développement logiciel Operator SDK fournit des outils pour créer, tester et mettre en paquet des opérateurs. Le SDK retire une grande partie du code générique qui est normalement nécessaire à l'intégration à l'API Kubernetes. Il fournit également une structure de base qui permet aux développeurs de se concentrer sur l'ajout d'une logique métier (par exemple, comment mettre à l'échelle, mettre à niveau ou sauvegarder l'application gérée). Afin d'éviter toute duplication, le SDK comprend les principales pratiques et les modèles de code que partagent les opérateurs. Le SDK favorise également des cycles de développement et de test courts et itératifs grâce à des outils qui permettent une validation de base des opérateurs et une mise en paquet automatisée pour leur déploiement à l'aide du gestionnaire Operator Lifecycle Manager.

Operator SDK: Build, test, iterate

L'outil Operator Lifecycle Manager (OLM) facilite la gestion des opérateurs dans un cluster Kubernetes. Les opérateurs qui fournissent des applications couramment utilisées en tant que service sont généralement des charges de travail à longue durée de vie avec, potentiellement, un grand nombre d'autorisations dans le cluster.

Grâce à l'outil OLM, les administrateurs peuvent contrôler quels opérateurs sont disponibles dans quels espaces de noms, et qui peut interagir avec les opérateurs en cours d'exécution. Les autorisations d'un opérateur sont configurées automatiquement et avec précision selon le principe du moindre privilège. L'outil OLM gère le cycle de vie global des opérateurs et de leurs ressources. Il se charge notamment de résoudre les dépendances à d'autres opérateurs, de déclencher les mises à jour d'un opérateur et de l'application qu'il gère ou d'accorder à une équipe l'accès à un opérateur pour sa partie du cluster.

Les applications simples et stateless peuvent utiliser les fonctions de gestion du cycle de vie d'Operator Framework, sans rédiger de code, en se servant d'un opérateur générique (par exemple, Helm Operator). Les opérateurs peuvent cependant s'avérer particulièrement utiles pour les applications complexes et stateful. En automatisant des fonctions telles que les mises à jour, les sauvegardes et la mise à l'échelle, les capacités de service géré qui sont intégrées au code de l'opérateur peuvent améliorer l'expérience des utilisateurs.

Operator Lifecycle Manager: Install and update across clusters

 

Grâce aux outils complémentaires de mesure, les équipes informatiques peuvent mieux contrôler leurs budgets, et les éditeurs de logiciels peuvent plus facilement suivre l'utilisation de leurs logiciels commerciaux. L'outil Operator Metering s'utilise notamment pour créer des rapports sur l'utilisation du CPU et de la mémoire du cluster, ainsi que pour calculer le coût de l'IaaS (Infrastructure-as-a-Service) et des licences.

Pour aller plus loin

Article

Tout savoir sur les opérateurs Red Hat OpenShift

Red Hat OpenShift Operators automate the creation, configuration, and management of instances of Kubernetes-native applications.

Article

Pourquoi choisir le service Red Hat OpenShift Serverless ?

Red Hat OpenShift Serverless étend les capacités de Kubernetes pour le déploiement et la gestion des charges de travail severless.

Article

Pourquoi choisir Red Hat OpenShift Service Mesh ?

Avec la solution Red Hat OpenShift Service Mesh, vous disposez d'un outil unique pour connecter, gérer et surveiller vos applications basées sur des microservices.

En savoir plus sur OpenShift

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.

Système de stockage logiciel qui héberge les données de façon permanente en parallèle de la mise en route et de l'arrêt des conteneurs et entre plusieurs environnements.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources

Formations

Cours gratuit

Présentation technique de l'exécution de conteneurs avec Red Hat

Cours gratuit

Développement d'applications cloud-native avec des architectures de microservices

Cours gratuit

Présentation technique du déploiement d'applications conteneurisées