Table des matières

Introduction

Une StorageClass permet aux administrateurs de décrire les «classes» de stockage qu'ils proposent. Différentes classes peuvent correspondre à des niveaux de qualité de service, à des politiques de sauvegarde ou à des politiques arbitraires déterminées par les administrateurs de cluster.

La ressource StorageClass

Chaque StorageClass contient les champs provisioner, parameterset et reclaimPolicy, qui sont utilisés lorsqu'un PersistentVolume appartenant à la classe doit être provisionné dynamiquement.

Le nom d'un objet StorageClass est significatif et indique comment les utilisateurs peuvent demander une classe particulière. Les administrateurs définissent le nom et les autres paramètres d'une classe lors de la création initiale d'objets StorageClass, et les objets ne peuvent pas être mis à jour une fois qu'ils sont créés.

Les administrateurs peuvent spécifier une StorageClass par défaut uniquement pour les PVC (PersistentVolumeClaim) qui ne demandent aucune classe particulière à laquelle se lier.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
reclaimPolicy: Retain
allowVolumeExpansion: true
mountOptions:
  - debug
volumeBindingMode: Immediate

Provisioner

Chaque StorageClass a un provisionner qui détermine quel plug-in de volume est utilisé pour provisionner les PV. Ce champ doit être spécifié.

Volume Plugin Internal Provisioner Config Example
AWSElasticBlockStore AWS EBS
AzureFile Azure File
AzureDisk Azure Disk
CephFS - -
Cinder OpenStack Cinder
FC - -
FlexVolume - -
Flocker -
GCEPersistentDisk GCE PD
Glusterfs Glusterfs
iSCSI - -
Quobyte Quobyte
NFS - -
RBD Ceph RBD
VsphereVolume vSphere
PortworxVolume Portworx Volume
ScaleIO ScaleIO
StorageOS StorageOS
Local - Local