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 diefsnamefür die Managed Lustre-Instanz an. Dieser Parameter wird für die dynamische Bereitstellung verwendet. Derfsnamemuss ein alphanumerischer String mit bis zu acht Zeichen sein, der mit einem Buchstaben beginnt. Wenn Sie keinen Wert angeben, generiert der CSI-Treiber einefsnameim 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 sind125,250,500und1000. Der Standardwert ist1000.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 aufImmediatefestgelegt.Wenn
WaitForFirstConsumerangegeben 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. Gibtmount.lustre-Bereitstellungsoptionen an. Managed Lustre-Volumes übernehmen diese Bereitstellungsoptionen aus der StorageClass im Feldpv.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: Gibtmount.lustre-Bereitstellungsoptionen an. Dieser Wert wird vom FeldmountOptionsin 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.