Opérateurs et Red Hat OpenShift Container Platform
À 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.
Opérateurs Kubernetes
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.
Apprenez-en plus sur le fonctionnement des opérateurs et sur leur création avec Operator Framework et Operator SDK.
Ressources Red Hat
Operator Framework
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 disponibles
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.
Créer des opérateurs avec Operator SDK
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.
Mettre en paquet des opérateurs avec Operator Lifecycle Manager
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.
Mesurer l'utilisation des ressources avec Operator Metering
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.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.