Blog ENI : Toute la veille numérique !
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
  1. Livres et vidéos
  2. Kubernetes
  3. Les opérateurs Kubernetes
Extrait - Kubernetes Gérez la plateforme de déploiement de vos applications conteneurisées (3e édition)
Extraits du livre
Kubernetes Gérez la plateforme de déploiement de vos applications conteneurisées (3e édition) Revenir à la page d'achat du livre

Les opérateurs Kubernetes

Objectifs du chapitre et prérequis

Ce chapitre est une introduction au mécanisme d’opérateurs. Dans un premier temps, vous reviendrez sur l’opérateur Prometheus puis vous déploierez un nouvel opérateur permettant de gérer des bases de données MariaDB.

Afin de bien comprendre l’intérêt de ce chapitre, vous devrez avoir abordé - même de manière superficielle - les chapitres Hébergement d’application en cluster et Mise en place d’une réplication entre pods (consacrés à la mise en place de base de données MariaDB) ainsi que le chapitre Surveillance à l’aide de Prometheus sur la mise en place de Prometheus.

Utilisation des opérateurs

1. Présentation du principe

Un opérateur est une méthode de déploiement et de gestion de ressources applicatives dans Kubernetes. L’intérêt d’un opérateur est de prendre en charge les aspects bas niveau liés à l’utilisation d’un produit comme :

  • l’affectation d’espace disque ;

  • la mise en place de synchronisation inter-pods ;

  • la configuration d’un cluster.

Par la suite, une base MariaDB sera déployée à l’aide d’un opérateur spécifique afin d’illustrer la simplicité de mise en œuvre par rapport à ce qui a été vu dans les chapitres Hébergement d’application en cluster et Mise en place d’une réplication entre pods (consacrés au déploiement d’une base de données MariaDB).

2. L’opérateur de Prometheus

a. Retour sur le chart prometheus-operator

Vu dans le chapitre Surveillance à l’aide de Prometheus, le chart Helm prometheus-community/kube-prometheus-stack définit de nouveaux types de ressources :

  • le type Prometheus (prometheuses.monitoring.coreos.com) ;

  • le type PrometheusRule (prometheusrules.monitoring.coreos.com) ;

  • le type ServiceMonitor (servicemonitors.monitoring.coreos.com) ;

  • le type PodMonitor (podmonitors.monitoring.coreos.com) ;

  • le type AlertManager (alertmanagers.monitoring.coreos.com) ;

  • le type AlertManagerConfig (alertmanagersconfigs.monitoring.coreos.com) ;

  • le type Probe (probes.monitoring.coreos.com) ;

  • le type ThanosRuler (thanosrules.monitoring.coreos.com).

L’avantage de ce type d’opérateur est qu’il devient ainsi possible de créer des ressources au niveau du cluster Kubernetes sans avoir à se préoccuper des détails d’implémentation tout en réduisant le nombre d’éléments à déclarer.

b. Structure d’un objet Prometheus

 Afin de mieux comprendre les implications de ce mécanisme, récupérez la liste des instances Prometheus dans l’espace de nom monitoring :

$ kubectl -n monitoring get prometheus 

Ci-dessous la sortie renvoyée par le moteur Kubernetes :

NAME                                        VERSION    REPLICAS    AGE ...