Referenz für Managed Lustre-CSI-Treiber

In den folgenden Manifesten werden die unterstützten CSI-Treiberfelder in den Ressourcen „StorageClass“ und „PersistentVolume“ 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 verwaltete 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 die fsname für die Managed Lustre-Instanz an. Dieser Parameter wird für die dynamische Bereitstellung verwendet. Der 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 verwalteten Lustre-CSI-Treiber können Sie der Instanz vom Nutzer bereitgestellte Labels anhängen.

  • description: optional. Eine Beschreibung der Instanz. Darf höchstens 2.048 Zeichen enthalten.

  • perUnitStorageThroughput: Gibt den Speicher-Durchsatz 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 diese Eigenschaft nicht angegeben ist, wird die verwaltete Lustre-Instanz in derselben Zone wie der CSI-Controller-Treiber-Pod erstellt und der Volume-Bindungsmodus wird standardmäßig auf Immediate festgelegt.

    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 dafür zu sorgen, dass persistente Volumes und Pods in den zulässigen Topologien platziert werden. Die Topologie wird in der StorageClass angegeben.

  • mountOptions: optional. Gibt mount.lustre-Bereitstellungsoptionen 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 PersistentVolume.

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 von 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 verwaltete Lustre-Instanz. Verwenden Sie das folgende Format: PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip: die IP-Adresse der verwalteten Lustre-Instanz, die für die Einbindung verwendet wird.
  • csi.volumeAttributes.filesystem: Der Dateisystemname der verwalteten Lustre-Instanz, eine achtstellige Kennung.