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 |