Referenz für Managed Lustre-CSI-Treiber

Die folgenden Manifeste beschreiben die unterstützten CSI-Treiberfelder in den Ressourcen „StorageClass“ und „Nichtflüchtiges Volume“.

Storage Class

Das folgende Manifest enthält alle unterstützten Felder in der StorageClass.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: lustre-csi-example-storage-class
provisioner: lustre.csi.storage.gke.io
parameters:
  network: VPC_NETWORK # optional
  filesystem: LUSTRE_FILESYSTEM_NAME # optional
  labels: KEY_1=VALUE_1,KEY_2=VALUE_2,...,KEY_N=VALUE_N # optional
  description: DESCRIPTION # optional
  perUnitStorageThroughput: 125 | 250 | 500 | 1000  # required
volumeBindingMode: WaitForFirstConsumer | Immediate # default is Immediate
allowedTopologies:
- matchLabelExpressions:
  - key: topology.gke.io/zone
    values:
    - ZONE_1
    - ZONE_2
mountOptions:
  - LUSTRE_MOUNT_OPTIONS

Ersetzen Sie die folgenden Werte:

  • network: optional. Das VPC-Netzwerk (Virtual Private Cloud), in dem die Managed Lustre-Instanz erstellt werden soll. Wenn diese Eigenschaft nicht angegeben ist, wird das Standardnetzwerk verwendet.

    Wenn Sie eine Managed Lustre-Instanz in einem freigegebenen VPC-Netzwerk erstellen möchten, müssen Sie den vollständigen Namen des Netzwerks angeben. Beispiel: projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME.

  • filesystem: gibt den fsname für die Managed Lustre-Instanz an. Dieser Parameter wird für die dynamische Bereitstellung verwendet. Der fsname muss eine alphanumerische String mit maximal acht Zeichen sein, der mit einem Buchstaben beginnt. Wenn Sie keinen Wert angeben, generiert der CSI-Treiber einen fsname im Format "lfsNNNNN" (z. B. "lfs97603").

  • labels: optional. Managed Lustre unterstützt Labels pro Instanz als Zuordnung von Schlüssel/Wert-Paaren. Mit dem Managed Lustre-CSI-Treiber können Sie der Instanz vom Nutzer bereitgestellte Labels anhängen.

  • description: optional. Eine Beschreibung der Instanz. Darf maximal 2.048 Zeichen lang sein.

  • perUnitStorageThroughput: gibt den Durchsatz pro Speichereinheit (MB/s/TiB) für die Instanz an. Unterstützte Werte sind 125, 250, 500 und 1000. Der Standardwert ist 1000.

  • allowTopologies: optional. Managed Lustre-Instanzen sind zonale Ressourcen. Wenn diese Eigenschaft nicht angegeben ist, wird die Managed Lustre-Instanz in derselben Zone wie der CSI-Controller-Treiber-Pod erstellt und der Modus für die Volumebindung wird standardmäßig auf Immediate gesetzt.

    Wenn WaitForFirstConsumer angegeben ist, wird die Topologie auf den Ort festgelegt, an dem der Pod geplant ist. Diese Einstellung kann jedoch dazu führen, dass Pods blockiert werden, während sie darauf warten, dass ein Volume bereitgestellt wird.

    Der Managed Lustre-CSI-Treiber unterstützt das Topologie-Feature, um sicherzustellen, dass nichtflüchtige Volumes und Pods in den zulässigen Topologien platziert werden, basierend auf der in der StorageClass angegebenen Topologie.

  • mountOptions: optional. Gibt die Bereitstellungsoptionen für mount.lustre an. Managed Lustre-Volumes übernehmen diese Bereitstellungsoptionen aus der StorageClass im Feld pv.spec.mountOptions.

Nichtflüchtiges Volume

Das folgende Manifest enthält alle unterstützten Felder im nichtflüchtigen Volume.

apiVersion: v1
kind: PersistentVolume
metadata:
 name: preprov-pv
 annotations:
   pv.kubernetes.io/provisioned-by: lustre.csi.storage.gke.io
spec:
 mountOptions:
   - LUSTRE_MOUNT_OPTIONS
   ...
 storageClassName: ""
 capacity:
   storage: CAPACITY
 accessModes:
   - ReadWriteMany
 persistentVolumeReclaimPolicy: Retain
 volumeMode: Filesystem
 csi:
   driver: lustre.csi.storage.gke.io
   volumeHandle: EXISTING_LUSTRE_INSTANCE_NAME
   volumeAttributes:
     ip: EXISTING_LUSTRE_IP_ADDRESS
     filesystem: EXISTING_LUSTRE_FSNAME

Ersetzen Sie die folgenden Werte:

  • capacity.storage: die Kapazität der Managed Lustre-Instanz. Unter Leistungsstufen finden Sie die unterstützten Mindest- und Höchstkapazitäten für Instanzen.
  • mountOptions: gibt die Bere1}mount.lustre Bereitstellungsoptionen an. Dieser Wert wird aus dem Feld mountOptions in der StorageClass übernommen.
  • csi.volumeHandle: eine eindeutige ID für eine Managed Lustre-Instanz. Muss das folgende Format haben: PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip: die IP-Adresse der Managed Lustre-Instanz, die für die Bereitstellung verwendet wird.
  • csi.volumeAttributes.filesystem: der Dateisystemname der Managed Lustre-Instanz, eine achtstellige ID.