Managed Lustre-CSI-Treiber – Referenz

In den folgenden Manifesten werden die unterstützten CSI-Treiberfelder in den StorageClass- und PersistentVolume-Ressourcen beschrieben.

Speicherklasse

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 dieses Attribut nicht angegeben ist, wird das Standardnetzwerk verwendet.

    Wenn Sie eine Managed Lustre-Instanz in einem gemeinsam genutzten 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 die fsname für die Managed Lustre-Instanz an. Dieser Parameter wird für die dynamische Bereitstellung verwendet. Die fsname muss ein alphanumerischer String mit bis zu acht Zeichen sein, der mit einem Buchstaben beginnt. Wenn Sie keinen Wert angeben, generiert der CSI-Treiber eine 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 hinzufügen.

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

  • perUnitStorageThroughput: Gibt den Speicherdurchsatz pro Einheit (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 dieses Attribut nicht angegeben ist, wird die Managed Lustre-Instanz in derselben Zone wie der CSI-Controller-Treiber-Pod erstellt und der Volume-Bindungsmodus ist standardmäßig Immediate.

    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 auf die Bereitstellung eines Volumes warten.

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

  • mountOptions: optional. Gibt mount.lustre-Bereitstellungsoptionen an. Managed Lustre-Volumes übernehmen diese Bereitstellungsoptionen von 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. Informationen zu den unterstützten Mindest- und Höchstkapazitäten für Instanzen finden Sie unter Leistungsstufen.
  • mountOptions: Gibt mount.lustre-Bereitstellungsoptionen an. Dieser Wert wird vom Feld mountOptions in der StorageClass übernommen.
  • csi.volumeHandle: Eine exklusive Kennung 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 Kennung.