Wednesday, November 4, 2026
Home » Développeurs : fini le provisionnement manuel du stockage objet grâce au nouveau driver COSI de Scality

Développeurs : fini le provisionnement manuel du stockage objet grâce au nouveau driver COSI de Scality

Imaginez que vous êtes développeur et gérez des applications dans un environnement Kubernetes. Vous avez besoin de stockage objet pour absorber des volumes de données croissants, mais à chaque nouveau projet, vous devez demander et provisionner manuellement les ressources. Cela ralentit votre travail et vous éloigne de vos tâches de développement.

Traditionnellement, intégrer le stockage objet à Kubernetes est un processus manuel et fragmenté — soumettre des demandes, attendre des validations, configurer des endpoints et gérer des clés d’accès. Pour beaucoup, cette approche semble dépassée dans un monde qui mise sur l’automatisation et l’efficacité.
C’est là qu’intervient le driver COSI (Container Object Storage Interface) (en anglais). Conçu pour simplifier et automatiser le provisionnement du stockage objet dans Kubernetes, COSI propose une approche standardisée et native Kubernetes. En faisant abstraction des contraintes du stockage objet, COSI permet aux développeurs de se concentrer sur l’essentiel — créer et déployer des applications — sans le casse-tête permanent du provisionnement manuel.

Résoudre les défis du provisionnement manuel dans Kubernetes avec COSI

Le driver COSI de Scality (en anglais) répond directement au défi du provisionnement manuel et fragmenté du stockage objet dans les environnements Kubernetes.

COSI — un standard émergent de Kubernetes — permet le provisionnement dynamique de buckets dans des systèmes de stockage objet externes, le tout piloté via des Custom Resource Definitions (CRD) dans Kubernetes. Les développeurs peuvent ainsi créer et gérer des objets personnalisés dans Kubernetes comme ils le feraient pour des ressources natives.

Résultat : un véritable modèle en libre-service qui automatise tout le provisionnement des buckets grâce à une configuration déclarative. Les développeurs demandent des ressources et obtiennent des buckets provisionnés automatiquement, directement depuis Kubernetes, ce qui réduit l’administration et simplifie considérablement leur expérience.

Comment ça marche : l’architecture COSI

COSI organise les ressources Kubernetes en 3 domaines :

  • Domaine administrateur
  • Domaine développeurs
  • Sous-système COSI

Le sous-système COSI fait office de contrôleur COSI principal et gère les modifications des objets de l’API COSI. Il traite les demandes de création, de mise à jour et de suppression de buckets, ainsi que la gestion des accès. 

Chaque cluster Kubernetes nécessite une instance du gestionnaire de contrôleurs, même si plusieurs fournisseurs de stockage objet sont utilisés.

Comprendre le workflow COSI (API)

L’API COSI est centrée sur les buckets, car le bucket est l’unité d’abstraction du stockage objet. COSI définit des API Kubernetes destinées à les gérer.

L’administrateur de la plateforme contrôle les ressources disponibles en définissant :

  • BucketClass → ensemble de propriétés pour créer des buckets
  • BucketAccessClass → ensemble de propriétés des identifiants donnant accès aux buckets

Les développeurs déploient des applications et créent :

  • BucketClaim → demande de bucket de stockage objet
  • BucketAccess → demande d’identifiants pour accéder au bucket

Lorsqu’un développeur crée un BucketClaim, celui-ci référence une BucketClass comme modèle de création de la ressource. Lorsqu’il demande un BucketAccess, celui-ci référence une BucketAccessClass comme « modèle d’identifiants » et un BucketClaim pour les ressources auxquelles accéder

Le sous-système COSI surveille toutes les ressources COSI et crée : 

  • Bucket → une représentation du bucket demandé avec ses propriétés
  • Secret → une ressource Kubernetes qui stocke les informations d’accès au bucket

Le sous-système COSI utilise le driver COSI de Scality pour dialoguer avec les API du système de stockage objet afin de :

  • créer le bucket ;
  • créer un utilisateur IAM et une paire clé d’accès / clé secrète pour cet utilisateur, ainsi qu’une politique inline donnant à cet utilisateur l’accès à ce bucket précis ;
  • transmettre ces informations d’accès à Kubernetes.

Le pod applicatif reçoit les informations d’accès et le statut du bucket depuis les ressources Kubernetes et accède directement au bucket via les endpoints du stockage objet.

Workflow du driver COSI.

Pour le dire en termes familiers à un utilisateur de Kubernetes, Bucket et BucketClaim s’apparentent aux PersistentVolume et PersistentVolumeClaim de l’équivalent fichier/bloc, StorageClass.

Dynamique ou statique ? Adapter à votre workflow

COSI est conçu pour fonctionner aussi bien en provisionnement dynamique que statique. 

  • Le provisionnement dynamique permet de créer automatiquement des buckets dans Kubernetes et donne accès à ceux-ci à l’utilisateur qui en a fait la demande.
  • Le provisionnement statique permet à un utilisateur de Kubernetes de se connecter à un bucket existant créé en dehors de Kubernetes, ce qui est utile lorsque le développeur doit accéder à des données déjà existantes.

Conçu pour l’échelle : prise en charge multi-tenant

COSI est entièrement multi-tenant : Kubernetes peut accéder à différents comptes IAM sur le même système de stockage objet Scality RING (en anglais) ou à des comptes sur différents systèmes RING. 

Il y a un seul driver par cluster Kubernetes, et ce driver peut dialoguer avec différents comptes IAM. L’isolation des locataires dans Kubernetes repose sur le contrôle d’accès basé sur les rôles, qui permet à l’administrateur de définir les actions Kubernetes autorisées, par exemple limiter les ressources BucketClass que les demandeurs peuvent référencer dans un claim.

Observabilité incluse : métriques, traçage et supervision

Le driver COSI de Scality fournit des métriques, traces et journaux conformes à Open Telemetry (en anglais). Le driver expose un endpoint sur lequel un système de supervision, généralement Prometheus, peut collecter les métriques. 

Le driver fournit des métriques sur les appels internes, les opérations IAM et les statistiques des opérations S3, par exemple le nombre de buckets et d’utilisateurs IAM créés et supprimés. Il permet aussi d’activer le traçage pour suivre toutes les actions qu’il réalise. 

Pensé pour les développeurs : agile, adaptable et évolutif

En tant que contributeur actif du groupe COSI de Kubernetes, Scality participe à l’élaboration et à l’évolution de la spécification COSI à partir de cas d’usage clients réels.

Notre implémentation du driver COSI est conçue pour s’adapter et évoluer avec les besoins de nos utilisateurs. Son architecture permet des cycles de publication indépendants : nous pouvons livrer de nouvelles fonctionnalités et des correctifs sans attendre les versions majeures de RING. 

Cette approche agile nous permet de rester alignés sur l’évolution du standard COSI tout en répondant rapidement aux besoins des clients, pour que le driver continue d’apporter une vraie valeur à mesure que les cas d’usage se développent et évoluent.

Pourquoi c’est important : les principaux avantages du driver COSI de Scality en un coup d’œil

  • Workflows simplifiés : les développeurs créent et gèrent des buckets directement depuis Kubernetes, sans demandes manuelles ni longs délais d’attente.
  • Automatisation : le driver automatise le provisionnement des buckets et la gestion des utilisateurs, ce qui réduit la charge administrative et accélère les cycles de développement.
  • Multi-tenant : notre driver prend en charge le multi-tenant (en anglais), ce qui permet à un cluster Kubernetes d’accéder à plusieurs comptes et RING, pour plus de flexibilité et d’évolutivité.
  • Conformité aux standards : fondé sur les interfaces S3 et IAM standard, notre driver fonctionne en toute fluidité avec RING, ARTESCA (en anglais) et tout système compatible S3 et IAM standard (support disponible pour RING et bientôt ARTESCA).
  • Métriques et traçage : le driver inclut des métriques et un traçage conformes à OpenTelemetry, pour une supervision et un dépannage robustes.

Regarder vers l’avenir et innover, un bucket à la fois

Nous pensons que le driver COSI de Scality peut transformer en profondeur la façon dont les développeurs utilisent le stockage objet dans Kubernetes. En offrant une expérience fluide, automatisée et pensée pour les développeurs, nous aidons les équipes à réduire les frictions opérationnelles et à se concentrer sur l’essentiel — créer et déployer d’excellentes applications.

Pour aller plus loin, consultez notre page GitHub (en anglais) : documentation détaillée, guides d’installation et tout ce qu’il faut pour démarrer avec le driver COSI.

Chez Scality, nous ne fournissons pas seulement du stockage : nous créons des outils qui donnent à nos clients la liberté d’innover. Le driver COSI n’est qu’un exemple de la façon dont nous plaçons les besoins des développeurs et une conception centrée sur le client au cœur de tout ce que nous faisons