Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Il s'agit d'une documentation non publiée pour SUSE® Storage 1.12 (Dev).

Paramètres de StorageClass

Présentation

StorageClass en tant qu’objet de ressource a plusieurs paramètres configurables.

Exemple :

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: longhorn-test
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
  backupTargetName: "default"
  numberOfReplicas: "3"
  staleReplicaTimeout: "2880"
  fromBackup: ""
  fsType: "ext4"
#  mkfsParams: ""
#  migratable: false
#  encrypted: false
#  dataLocality: "disabled"
#  replicaAutoBalance: "ignored"
#  diskSelector: "ssd,fast"
#  nodeSelector: "storage,fast"
#  recurringJobSelector: '[{"name":"snap-group", "isGroup":true},
#                          {"name":"backup", "isGroup":false}]'
#  backingImageName: ""
#  backingImageChecksum: ""
#  backingImageDataSourceType: ""
#  backingImageDataSourceParameters: ""
#  unmapMarkSnapChainRemoved: "ignored"
#  disableRevisionCounter: false
#  replicaSoftAntiAffinity: "ignored"
#  replicaZoneSoftAntiAffinity: "ignored"
#  replicaDiskSoftAntiAffinity: "ignored"
#  nfsOptions: "soft,timeo=150,retrans=3"
#  dataEngine: "v1"
#  freezeFSForSnapshot: "ignored"
# allowedTopologies:
#   - matchLabelExpressions:
#       - key: topology.kubernetes.io/zone
#         values:
#           - us-central-1a
#           - us-central-1b

Champs intégrés

Certains champs sont communs à toutes les classes de stockage Kubernetes. Voir aussi Classe de stockage Kubernetes.

Provisionneur (champ : provisioner)

Spécifie le plug-in qui sera utilisé pour la création dynamique de volumes persistants. Pour SUSE Storage, c’est toujours driver.longhorn.io.

Autoriser l’expansion de volume (champ : allowVolumeExpansion)

Politique de récupération (champ : reclaimPolicy)

Options de montage (champ : mountOptions)

Mode de liaison de volume (champ : volumeBindingMode)

Topologies autorisées (champ : allowedTopologies)

Voir la référence Kubernetes StorageClass — Topologies autorisées.

Il spécifie l’ensemble des nœuds où les volumes peuvent être provisionnés en faisant correspondre les étiquettes de nœud. SUSE Storage utilise ce champ pour remplir le nodeAffinity de PV via le champ CSI accessibleTopology.

Pour que allowedTopologies prenne effet, le paramètre SUSE Storage csi-allowed-topology-keys doit être configuré avec les clés de topologie correspondantes (par exemple, topology.kubernetes.io/zone). Sans ce paramètre, aucune information de topologie n’est transmise et le PV n’aura pas de nodeAffinity.

Ne pas utiliser allowedTopologies avec parameters.dataLocality: strict-local. Le PV résultant nodeAffinity devient immuable et cela entrerait en conflit avec le pinning strict-local des volumes de SUSE Storage.

Pour un guide complet avec des exemples, voir le Provisionnement conscient de la topologie.

Paramètres spécifiques à SUSE Storage

Notez que certains de ces paramètres existent également et peuvent être spécifiés dans les paramètres globaux. Lorsqu’un volume est provisionné avec Kubernetes contre une StorageClass particulière, les paramètres de la StorageClass remplacent les paramètres globaux. Ces champs ne seront appliqués que pour la création de nouveaux volumes. Si une StorageClass est modifiée, ni SUSE Storage ni Kubernetes ne gèrent la propagation des modifications de ses paramètres vers les volumes précédemment créés avec elle.

Nombre de répliques (champ : parameters.numberOfReplicas)

Par défaut : 3

Le nombre souhaité de copies (répliques) pour la redondance.

  • Doit être compris entre 1 et 20.

  • Les répliques seront réparties sur le plus large éventail possible de zones, de nœuds et de disques dans un cluster, sous réserve d’autres contraintes, telles que NodeSelector.

Paramètre global - Nombre de répliques par défaut.

Délai d’expiration des répliques obsolètes (champ : parameters.staleReplicaTimeout)

Par défaut : 30

Minutes après qu’une réplique soit marquée comme non saine avant qu’elle ne soit jugée inutile pour les reconstructions et soit simplement supprimée.

À partir de la sauvegarde (champ : parameters.fromBackup)

Par défaut : "" Exemple : "s3://backupbucket@us-east-1?volume=minio-vol01&backup=backup-eeb2782d5b2f42bb"

URL d’une sauvegarde à restaurer.

FS Type (champ : parameters.fsType)

Par défaut : ext4 Pour plus de détails, veuillez consulter le Création de volumes Longhorn avec Kubernetes.

Mkfs Params (champ : parameters.mkfsParams)

Par défaut : "" Pour plus de détails, veuillez consulter le Création de volumes Longhorn avec Kubernetes.

Migratable (champ : parameters.migratable)

Par défaut : false

Active les capacités de migration en direct pour un volume Longhorn, permettant de le migrer d’un nœud à un autre tout en maintenant des opérations d’E/S actives.

Quand utiliser :

  1. migratable: true : Pour les charges de travail nécessitant une migration en direct. Doit être utilisé avec le mode d’accès ReadWriteMany et volumeMode: Block.

  2. migratable: false : Pour les volumes standards qui ne nécessitent pas de capacités de migration en direct.

Pour plus de détails, veuillez consulter le Volume ReadWriteMany (RWX).

Encrypted (champ : parameters.encrypted)

Par défaut : false Pour plus de détails, veuillez consulter les Volumes chiffrés.

Data Locality (champ : parameters.dataLocality)

Par défaut : disabled

Si activé, essayez de garder les données sur le même nœud que la charge de travail pour de meilleures performances.

  • Pour best-effort, une réplique serait co-localisée si possible, mais est autorisée à trouver un autre nœud si ce n’est pas le cas.

  • Pour strict-local, le nombre de répliques doit être de 1, sinon la création du volume échouerait avec une erreur de validation de paramètre.

  • Si strict-local n’est pas possible pour une autre raison, la création du volume échouerait. Une réplique strict-local qui devient déplacée de sa charge de travail serait marquée comme "Stopped".

Paramètre global - Localité des données par défaut. Pour plus de détails, veuillez consulter Localité des données.

Replica Auto Balance (champ : parameters.replicaAutoBalance)

Par défaut : ignored

S’il est activé, déplacez les répliques vers des nœuds moins chargés.

  • ignored signifie utiliser le paramètre global.

  • D’autres options sont disabled, least-effort, best-effort.

Paramètre global - Équilibrage automatique des répliques. Pour plus de détails, veuillez consulter le Équilibrage automatique des répliques.

Disk Selector (champ : parameters.diskSelector)

Par défaut : "" Exemple : "ssd,fast"

Une liste d’étiquettes pour sélectionner quels disques sont candidats pour le placement des répliques.

Pour plus de détails, veuillez consulter les Étiquettes de stockage.

Sélecteur de nœud (champ : parameters.nodeSelector)

Par défaut : "" Exemple : "storage,fast"

Une liste d’étiquettes pour sélectionner quels nœuds sont candidats pour le placement des répliques.

Pour plus de détails, veuillez consulter les Étiquettes de stockage.

Sélecteur de tâche récurrente (champ : parameters.recurringJobSelector)

Par défaut : "" Exemple : [{"name":"backup", "isGroup":true}]

Une liste de tâches récurrentes à exécuter sur un volume.

Pour plus de détails, veuillez consulter Créer une tâche de sauvegarde/instantané récurrente.

Nom de l’image de sauvegarde (champ : parameters.backingImageName)

Par défaut : "" Voir Image de sauvegarde.

Somme de contrôle de l’image de sauvegarde (champ : parameters.backingImageChecksum)

Par défaut : "" Voir Image de sauvegarde.

Type de source de données d’image de sauvegarde (champ : parameters.backingImageDataSourceType)

Par défaut : "" Voir Image de sauvegarde.

Paramètres de source de données d’image de sauvegarde (champ : parameters.backingImageDataSourceParameters)

Par défaut : "" Voir Image de sauvegarde.

Chaîne d’instantanés marqués pour désassociation supprimée (champ : parameters.unmapMarkSnapChainRemoved)

Par défaut : ignored

  • ignored signifie utiliser le paramètre global.

  • D’autres valeurs sont enabled et disabled.

Paramètre global - Supprimer les instantanés pendant le trim du système de fichiers. Pour plus de détails, veuillez consulter le Trim du système de fichiers.

Désactiver le compteur de révisions (champ : parameters.disableRevisionCounter)

Par défaut : true

Paramètre global - Désactiver le compteur de révisions. Pour plus de détails, veuillez consulter le Compteur de révisions.

Anti-affinité douce de réplique (champ : parameters.replicaSoftAntiAffinity)

Par défaut : ignored

  • ignored signifie utiliser le paramètre global.

  • D’autres valeurs sont enabled et disabled.

Paramètre global - Niveau d’anti-affinité douce de nœud de réplique. Pour plus de détails, veuillez consulter le Planification et Meilleures pratiques.

Anti-affinité douce de zone de réplique (champ : parameters.replicaZoneSoftAntiAffinity)

Par défaut : ignored

  • ignored signifie utiliser le paramètre global.

  • D’autres valeurs sont enabled et disabled.

Paramètre global - Niveau d’anti-affinité douce de zone de réplique. Pour plus de détails, veuillez consulter Planification.

Anti-affinité douce de disque de réplique (champ : parameters.replicaDiskSoftAntiAffinity)

Par défaut : ignored

  • ignored signifie utiliser le paramètre global.

  • D’autres valeurs sont enabled et disabled.

Paramètre global - Niveau d’anti-affinité douce de disque de réplique. Pour plus de détails, veuillez consulter Planification.

Options NFS (champ : parameters.nfsOptions)

Par défaut : "" Exemple : "hard,sync"

  • Remplacements pour le montage NFS de volumes RWX vers le gestionnaire de partage. Utilisez ce champ avec précaution.

    Les options intégrées varient selon la version. Vérifiez les détails de votre version avant de définir cela.

Pour plus de détails, veuillez consulter le RWX Workloads.

Moteur de données (champ : parameters.dataEngine)

Par défaut : "v1"

  • Spécifiez "v2" pour activer le moteur de données V2 (fonctionnalité en aperçu technique). Lorsqu’il n’est pas spécifié, SUSE Storage utilise la valeur par défaut ("v1").

Paramètre global : V2 Data Engine. Plus de détails dans V2 Data Engine Démarrage rapide.

Gel du système de fichiers pour l’instantané (champ : parameters.freezeFilesystemForSnapshot)

Par défaut : ignored

  • ignored demande à SUSE Storage d’utiliser le paramètre global.

  • D’autres valeurs sont enabled et disabled.

Nom de la cible de sauvegarde (champ : parameters.backupTargetName)

Par défaut : default

Taille de bloc de sauvegarde (champ : parameters.backupBlockSize)

Par défaut : ""

Exemple : "2Mi" ou "16Mi"

Une chaîne de quantité Kubernetes. Utilisez une chaîne vide "" pour appliquer le paramètre global.

Pour plus d’informations, reportez-vous aux documents suivants :

Installations de Helm

Si SUSE Storage est installé via Helm, les valeurs dans la classe de stockage par défaut peuvent être définies en modifiant l’élément correspondant dans values.yaml. Tous les paramètres de la classe de stockage ont un préfixe de persistence. Par exemple : persistence.defaultNodeSelector.