Aktivieren der automatischen Kapazitätsrundung für feste IOPS-Profile

Mit der Funktion zur Kapazitätsrundung des IBM VPC File CSI Driver können Sie festlegen, dass der Treiber die Kapazität eines angeforderten Persistent Volume Claim (PVC) automatisch anpasst, wenn diese unter der minimal unterstützten Kapazität für das ausgewählte feste IOPS-Profil liegt. Dadurch entfällt die Notwendigkeit, die Mindestkapazitätswerte vor der Bereitstellung von Dateifreigaben manuell zu berechnen.

So funktioniert die Kapazitätsrundung

Beim Start des Treibers ruft der IBM VPC File CSI-Treiber einen unterstützten Kapazitäts-zu-IOPS-Katalog aus dem globalen Katalog von IBM ab. Der Katalog wird im Arbeitsspeicher zwischengespeichert und für alle nachfolgenden Bereitstellungsanfragen verwendet. Die folgende Tabelle beschreibt das Verhalten des Treibers während der PVC-Bereitstellung.

Verhalten bei der Kapazitätsbereitstellung mit Rundung
Szenario Driver Behavior
Die angeforderten IOPS werden unterstützt, und die angeforderte Kapazität liegt unter dem Mindestwert Der Treiber rundet die Kapazität auf den niedrigsten unterstützten Wert auf und stellt das PVC bereit.
Die angeforderten IOPS werden unterstützt, und die angeforderte Kapazität entspricht den Mindestanforderungen Die PVC stellt die angeforderte Kapazität bereit.
Die angeforderten IOPS werden nicht unterstützt Die Bereitstellung schlägt mit einem Validierungsfehler fehl. Hilfe zur Behebung dieses Fehlers finden Sie unter Fehlerbehebung bei Kapazitätsrundungen.

Wenn der Global Catalog beim Start des Treibers nicht erreichbar ist, wird eine Warnung protokolliert und die Kapazitätsrundung ist nicht verfügbar. Alle anderen Aspekte der Bereitstellung verlaufen wie erwartet.

Voraussetzungen

Bevor Sie die Kapazitätsrundung aktivieren, muss der Treiber in der Lage sein, auf den globalen Katalog von IBM zuzugreifen. Um den Zugriff zu ermöglichen, konfigurieren Sie ein Virtual Private Endpoint Gateway (VPEG) in Ihrer VPC.

  1. Erstellen Sie in Ihrer VPC ein Virtual Private Endpoint Gateway für den Global Resources Catalog-Dienst.

    Wenn Sie die VPEG erstellen, nehmen Sie folgende Einstellungen vor:

    • Wählen Sie unter Cloud-Services den Global Resources Catalog aus.
    • Wählen Sie unter Verfügbare Endpunkte den Endpunkt mit dem Endpunkttyp api und URL oder private.globalcatalog.cloud.ibm.com aus *.private.globalcatalog.cloud.ibm.com.

    Verwenden Sie die genauen Servicenamen und URLs, wie sie in der Benutzeroberfläche von IBM Cloud angezeigt werden.

  2. Stellen Sie sicher, dass Ihre Cluster-Knoten den privaten Endpunkt des Global Catalog erreichen können. Ohne Internetverbindung gibt der Treiber beim Start eine Warnung aus, und die Kapazitätsrundung ist nicht verfügbar. Alle anderen Aspekte der Bereitstellung verlaufen wie erwartet.

Erstellen Sie eine StorageClass mit aktivierter Kapazitätsrundung

Die Kapazitätsrundung ist eine optionale Funktion, die standardmäßig deaktiviert ist und gemäß StorageClass aktiviert werden muss. Bestehende StorageClasses sind davon nicht betroffen.

Diese Funktion gilt nur für dp2 Profil- StorageClasses, die eine feste IOPS-Zuweisung verwenden. Dies gilt nicht für rfs Profilklassen.

  1. Erstellen Sie eine Konfigurationsdatei StorageClass, in allowCapacityRoundoffForIops: "true" der im Abschnitt parameters festgelegt wird.

    Im folgenden Beispiel wird ein StorageClass mit einem gültigen IOPS-Wert und aktivierter Kapazitätsrundung erstellt:

    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. Wenden Sie die StorageClass auf Ihren Cluster an.

    oc apply -f ibmc-vpc-file-dp2-roundoff.yaml
    
  3. Stellen Sie sicher, dass der StorageClass in Ihrem Cluster verfügbar ist. Suchen Sie in der Ausgabe nach dem von Ihnen angegebenen Namen.

    oc get sc
    

Ein PVC mit Kapazitätsrundung bereitstellen

Nachdem Sie Ihre StorageClass, erstellt haben, erstellen Sie ein PVC, das darauf verweist. Die folgenden Beispiele veranschaulichen die beiden wichtigsten Bereitstellungsszenarien.

Szenario 1: Die Kapazität liegt unter dem Mindestwert und wird aufgerundet

In diesem Beispiel fordert das PVC 80 Gi Speicherplatz an. Da 80 Gi unter der minimal unterstützten Kapazität für 4700 IOPS liegt, richtet der Treiber die Dateifreigabe automatisch mit der minimal unterstützten Kapazität ein (in diesem Fall 100 Gi).

  1. Erstellen Sie eine PVC-Konfigurationsdatei.

    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. Bringen Sie das PVC an.

    oc apply -f my-roundoff-pvc.yaml
    
  3. Überprüfen Sie, ob das PVC gebunden ist, und notieren Sie sich das Feld CAPACITY in der Ausgabe. Die Kapazität sollte den aufgerundeten Wert widerspiegeln, nicht die angeforderten 80 Gi.

    oc get pvc my-roundoff-pvc
    

    Beispielausgabe:

    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
    

    Der Wert CAPACITY ist, 100Gi obwohl angefordert 80Gi wurde, was bestätigt, dass der Treiber auf die minimal unterstützte Kapazität aufgerundet hat.

Szenario 2: Die Kapazität entspricht dem Mindestwert und wird wie angefordert bereitgestellt

In diesem Beispiel fordert das PVC 200 Gi an, was bereits die minimal unterstützte Kapazität für 4700 IOPS erfüllt. Der Treiber stellt die Dateifreigabe ohne Anpassungen mit der angeforderten Kapazität bereit.

  1. Erstellen Sie eine PVC-Konfigurationsdatei.

    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. Bringen Sie das PVC an.

    oc apply -f my-exact-pvc.yaml
    
  3. Überprüfen Sie, ob das PVC gebunden ist. Das Feld CAPACITY sollte anzeigen 200Gi, um zu bestätigen, dass keine Anpassung vorgenommen wurde.

    oc get pvc my-exact-pvc
    

    Beispielausgabe:

    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
    

Nächste Schritte