Activation de l'arrondi automatique de la capacité pour les profils IOPS fixes

Grâce à la fonctionnalité d’arrondi de capacité du pilote CSI de fichiers VPC d’ IBM, vous pouvez autoriser le pilote à ajuster automatiquement la capacité d’une demande de volume persistant (PVC) lorsque celle-ci est inférieure à la capacité minimale prise en charge pour le profil IOPS fixe sélectionné. Cela évite d'avoir à calculer manuellement les valeurs de capacité minimale avant de provisionner des partages de fichiers.

Fonctionnement de l'arrondi des capacités

Lors du démarrage du pilote, le pilote CSI de fichiers VPC d' IBM récupère un catalogue de conversion capacité-IOPS pris en charge à partir du catalogue global d' IBM. Le catalogue est mis en cache en mémoire et utilisé pour toutes les demandes de provisionnement ultérieures. Le tableau suivant décrit le comportement du pilote lors de la mise en place d'un PVC.

Comportement d'arrondi lors de l'allocation de capacité
Scénario Driver Behavior
Le nombre d'IOPS demandé est pris en charge et la capacité demandée est inférieure au minimum requis Le pilote arrondit la capacité à la valeur minimale prise en charge et provisionne le PVC.
Le nombre d'IOPS demandé est pris en charge et la capacité demandée respecte le minimum requis Le PVC fournit la capacité demandée.
Le nombre d'IOPS demandé n'est pas pris en charge Le provisionnement échoue en raison d'une erreur de validation. Pour obtenir de l'aide afin de résoudre cette erreur, consultez la section Dépannage de l'arrondi de capacité.

Si le catalogue global est inaccessible au démarrage du pilote, un avertissement est consigné et l'arrondi de capacité n'est pas disponible. Tous les autres comportements de provisionnement se poursuivent comme prévu.

Prérequis

Avant d'activer l'arrondi de capacité, le pilote doit pouvoir accéder au catalogue global d' IBM. Pour autoriser l'accès, configurez une passerelle d'accès privée virtuelle (VPEG) dans votre VPC.

  1. Créez une passerelle d'accès privée virtuelle(Virtual Private Endpoint Gateway) dans votre VPC pour le service Global Resources Catalog.

    Lorsque vous créez le VPEG, configurez les paramètres suivants :

    • Dans la rubrique Services cloud, sélectionnez Catalogue mondial des ressources.
    • Sous Points de terminaison disponibles, sélectionnez le point de terminaison dont le type est api et dont l' URL ou private.globalcatalog.cloud.ibm.com *.private.globalcatalog.cloud.ibm.com.

    Utilisez les noms de services et les URL exacts tels qu'ils apparaissent dans l'interface utilisateur d' IBM Cloud.

  2. Vérifiez que les nœuds de votre cluster peuvent accéder au point de terminaison privé du catalogue global. En l'absence de connexion, le pilote affiche un message d'avertissement au démarrage et l'arrondi de capacité n'est pas disponible. Tous les autres comportements de provisionnement se poursuivent comme prévu.

Créer une instance StorageClass avec l'arrondi de capacité activé

L'arrondi de capacité est une fonctionnalité optionnelle désactivée par défaut et qui doit être activée conformément à l' StorageClass. Les StorageClasses existantes ne sont pas concernées.

Cette fonctionnalité s'applique uniquement aux profils dp2 StorageClasses qui utilisent un provisionnement IOPS fixe. Cela ne s'applique pas aux classes de profil rfs.

  1. Créez un fichier de configuration StorageClass qui définit allowCapacityRoundoffForIops: "true" dans la section parameters.

    L'exemple suivant permet de créer un StorageClass avec une valeur IOPS valide et l'arrondi de capacité activé :

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ibmc-vpc-file-dp2-roundoff
      labels:
        app.kubernetes.io/name: ibm-vpc-file-csi-driver
    provisioner: vpc.file.csi.ibm.io
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    mountOptions:
      - hard
      - nfsvers=4.1
      - sec=sys
    parameters:
      allowCapacityRoundoffForIops: "true"
      billingType: hourly
      classVersion: "1"
      encrypted: "false"
      encryptionKey: ""
      gid: "0"
      iops: "4700"
      isENIEnabled: "true"
      primaryIPAddress: ""
      primaryIPID: ""
      profile: dp2
      region: ""
      resourceGroup: ""
      securityGroupIDs: ""
      subnetID: ""
      tags: ""
      uid: "0"
      zone: ""
    volumeBindingMode: Immediate
    
  2. Appliquez l' StorageClass à votre cluster.

    oc apply -f ibmc-vpc-file-dp2-roundoff.yaml
    
  3. Vérifiez que l' StorageClass est disponible dans votre cluster. Recherchez le nom que vous avez indiqué dans le résultat.

    oc get sc
    

Provisionner un PVC avec arrondi de capacité

Après avoir créé votre StorageClass,, créez un PVC qui y fait référence. Les exemples suivants illustrent les deux principaux scénarios de provisionnement.

Scénario 1 : la capacité est inférieure au minimum et est arrondie à la valeur supérieure

Dans cet exemple, le PVC demande 80 Gi de stockage. Comme 80 Gi est inférieur à la capacité minimale prise en charge pour 4 700 IOPS, le pilote provisionne automatiquement le partage de fichiers à la capacité minimale prise en charge (100 Gi dans ce cas).

  1. Créer un fichier de configuration PVC.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-roundoff-pvc
      namespace: default
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 80Gi
      storageClassName: ibmc-vpc-file-dp2-roundoff
    
  2. Appliquez le PVC.

    oc apply -f my-roundoff-pvc.yaml
    
  3. Vérifiez que le PVC est lié et notez le champ CAPACITY dans la sortie. La capacité doit correspondre à la valeur arrondie à l'unité supérieure, et non aux 80 Gi demandés.

    oc get pvc my-roundoff-pvc
    

    Exemple de sortie :

    NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    my-roundoff-pvc   Bound    pvc-91ff9a52-5004-4441-9611-be5410edbfe4   100Gi      RWX            ibmc-vpc-file-dp2-roundoff    30s
    

    La valeur CAPACITY est 100Gi bien que 80Gi ait été demandée, ce qui confirme que le pilote a arrondi à la capacité minimale prise en charge.

Scénario 2 : la capacité répond au minimum requis et est provisionnée conformément à la demande

Dans cet exemple, le PVC demande 200 Gi, ce qui satisfait déjà à la capacité minimale prise en charge pour 4 700 IOPS. Le pilote configure le partage de fichiers à la capacité demandée sans aucun ajustement.

  1. Créer un fichier de configuration PVC.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-exact-pvc
      namespace: default
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 200Gi
      storageClassName: ibmc-vpc-file-dp2-roundoff
    
  2. Appliquez le PVC.

    oc apply -f my-exact-pvc.yaml
    
  3. Vérifiez que le PVC est bien lié. Le champ CAPACITY doit afficher 200Gi, confirmant qu'aucun ajustement n'a été effectué.

    oc get pvc my-exact-pvc
    

    Exemple de sortie :

    NAME           STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    my-exact-pvc   Bound    pvc-3528044b-b004-4077-b09f-c6cdf7000180   200Gi      RWX            ibmc-vpc-file-dp2-roundoff    24m
    

Etapes suivantes