7.3. Définir une classe de stockage
Les objets Storageclass sont actuellement un objet à portée mondiale et doivent être créés par des utilisateurs de cluster-admin ou de stockage-admin.
L’opérateur de stockage du cluster peut installer une classe de stockage par défaut en fonction de la plate-forme utilisée. Cette classe de stockage est détenue et contrôlée par l’opérateur. Il ne peut pas être supprimé ou modifié au-delà de la définition des annotations et des étiquettes. Lorsqu’un comportement différent est souhaité, vous devez définir une classe de stockage personnalisée.
Les sections suivantes décrivent la définition de base d’un objet StorageClass et des exemples spécifiques pour chacun des types de plugin pris en charge.
7.3.1. Définition d’objet Basic StorageClass Copier lienLien copié sur presse-papiers!
La ressource suivante affiche les paramètres et les valeurs par défaut que vous utilisez pour configurer une classe de stockage. Cet exemple utilise la définition d’objet AWS ElasticBlockStore (EBS).
Définition de classe de stockage d’échantillons
- 1
- (obligatoire) Le type d’objet API.
- 2
- (obligatoire) L’apiVersion actuelle.
- 3
- (obligatoire) Le nom de la classe de stockage.
- 4
- (facultatif) Annotations pour la classe de stockage.
- 5
- (obligatoire) Le type de provisionneur associé à cette classe de stockage.
- 6
- (facultatif) Les paramètres requis pour le provisionneur spécifique, cela passera du plug-in au plug-in.
7.3.2. Annotations de classe de stockage Copier lienLien copié sur presse-papiers!
Afin de définir une classe de stockage en tant que par défaut à l’échelle du cluster, ajoutez l’annotation suivante à vos métadonnées de classe de stockage:
storageclass.kubernetes.io/is-default-class: "true"
storageclass.kubernetes.io/is-default-class: "true"
À titre d’exemple:
Cela permet à toute revendication de volume persistant (PVC) qui ne spécifie pas une classe de stockage spécifique d’être automatiquement fournie par l’intermédiaire de la classe de stockage par défaut. Cependant, votre cluster peut avoir plus d’une classe de stockage, mais un seul d’entre eux peut être la classe de stockage par défaut.
La bêta annotation storageclass.beta.kubernetes.io/is-default-class fonctionne toujours; cependant, il sera supprimé dans une version ultérieure.
Afin de définir une description de classe de stockage, ajoutez l’annotation suivante à vos métadonnées de classe de stockage:
kubernetes.io/description: My Storage Class Description
kubernetes.io/description: My Storage Class Description
À titre d’exemple:
7.3.3. Définition d’objet AWS Elastic Block Store (EBS) Copier lienLien copié sur presse-papiers!
AWS-ebs-storageclass.yaml
- 1
- (obligatoire) Nom de la classe de stockage. La revendication de volume persistant utilise cette classe de stockage pour approvisionner les volumes persistants associés.
- 2
- (obligatoire) Sélectionnez parmi io1, gp3, sc1, st1. La valeur par défaut est gp3. Consultez la documentation AWS pour les valeurs Amazon Resource Name (ARN) valides.
- 3
- Facultatif: Seulement pour les volumes io1. E/S opérations par seconde par GiB. Le plugin de volume AWS multiplie cela avec la taille du volume demandé pour calculer l’IOPS du volume. Le plafond de valeur est de 20 000 IOPS, ce qui est le maximum pris en charge par AWS. Consultez la documentation AWS pour plus de détails.
- 4
- Facultatif: Dénote s’il faut chiffrer le volume EBS. Les valeurs valides sont vraies ou fausses.
- 5
- Facultatif: L’ARN complet de la clé à utiliser lors du chiffrement du volume. Dans le cas où aucun n’est fourni, mais encypted est réglé sur true, AWS génère une clé. Consultez la documentation AWS pour obtenir une valeur ARN valide.
- 6
- Facultatif: Système de fichiers qui est créé sur des volumes provisionnés dynamiquement. Cette valeur est copiée dans le champ fsType des volumes persistants provisionnés dynamiquement et le système de fichiers est créé lorsque le volume est monté pour la première fois. La valeur par défaut est ext4.
7.3.4. GCE PersistentDisk (gcePD) définition d’objet Copier lienLien copié sur presse-papiers!
GCE-pd-storageclass.yaml