Aller au contenu principal
Sommaire de la formation

KubeBlocks operator introduction

coolibra354 vues

KubeBlocks operator

  • Introduction
    • Présentation kubeBlocks
    • Architecture

KubeBlocks est un projet open source développé par APECloud, qui vise à simplifier l’exploitation de bases de données et services de données dans des environnements Kubernetes.

Design of KubeBlocks, a general purpose database operator

Il fournit :

  • Des CRDs ClusterDefinitions pour chaque type de base de données.

  • Un opérateur Kubernetes intelligent, capable de gérer le cycle de vie complet d'une base : provisionnement, scaling, upgrade, backup, failover.

  • Un support pour les sauvegardes via Velero ou Restic.

  • Des fonctionnalités avancées comme le recovery Point-in-time recovery (PITR), la réplication, ou encore le monitoring via Prometheus.

KubeBlocks se positionne comme une solution cloud-native complète pour les DBaaS (Database-as-a-Service) auto-hébergés sur Kubernetes.

 

Architecture

KubeBlocks Architecture

L'architecture de KubeBlocks repose sur plusieurs composants clés qui interagissent dans le cluster :

1. KubeBlocks Operator

Le cœur du système. Il s'agit d'un controller Kubernetes qui observe et agit sur les CRDs :

  • ClusterDefinition: définit les caractéristiques d'un type de base de données.

  • ClusterVersion: référence une version spécifique d’un moteur (par ex : PostgreSQL 15.2).

  • Cluster: l'instance de la base déployée, créée par l'utilisateur.

L’operator est responsable de :

  • La validation des spécifications.

  • Le déploiement des StatefulSets.

  • La gestion des mises à jour.

  • L’autoscaling vertical/horizontal.

  • Le failover en cas de panne de pods ou nœuds.

2. Add-ons & Intégrations

  • KubeBlocks Console (UI) pour visualiser les clusters et lancer des opérations sans passer par kubectl.

  • Intégration Prometheus & Grafana pour la supervision.

  • BackupController pour les sauvegardes/restaurations.

  • Prise en charge des Sidecars pour injecter des fonctionnalités (ex : agents de monitoring, réplication...).

3. Bases de données packagées

KubeBlocks fournit des images containerisées et optimisées pour des moteurs comme :

  • MySQL / MariaDB

  • PostgreSQL

  • Minio
  • MongoDB

  • ElasticSearch
  • RabbitMQ
  • Redis

  • Kafka

  • ZooKeeper

  • Et d'autres via des ClusterDefinitions personnalisables.

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.