次のマニフェストは、Storage Class リソースと永続ボリューム リソースでサポートされている CSI ドライバ フィールドについて説明しています。
ストレージ クラス
次のマニフェストには、Storage Class でサポートされているすべてのフィールドが含まれています。
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
次の値を置き換えます。
network: 省略可。Managed Lustre インスタンスを作成する Virtual Private Cloud(VPC)ネットワーク。 このプロパティが指定されていない場合は、デフォルトのネットワークが使用されます。共有 VPC ネットワークに Managed Lustre インスタンスを作成するには、ネットワークの完全名を指定する必要があります。例:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAMEfilesystem: Managed Lustre インスタンスのfsnameを指定します。このパラメータは、動的プロビジョニングに使用されます。fsnameは、英字で始まる 8 文字以内の英数字文字列にする必要があります。値を指定しない場合、CSI ドライバはfsname形式("lfs97603"など)の"lfsNNNNN"を生成します。labels: 省略可。 Managed Lustre は、Key-Value ペアのマップとして、インスタンスごとにラベルをサポートしています。Managed Lustre CSI ドライバを使用すると、ユーザーが指定したラベルをインスタンスにアタッチできます。description: 省略可。インスタンスの説明。2,048 文字以下にする必要があります。perUnitStorageThroughput: インスタンスのユニットあたりのストレージ スループット(MB/秒/TiB)を指定します。サポートされている値は、125、250、500、1000です。デフォルトは1000です。allowTopologies: 省略可。Managed Lustre インスタンスは、ゾーンリソースです。このプロパティが指定されていない場合、Managed Lustre インスタンスは CSI コントローラ ドライバ Pod と同じゾーンに作成され、ボリューム バインディング モードはデフォルトでImmediateになります。WaitForFirstConsumerが指定されている場合、トポロジは Pod がスケジュールされている場所に設定されます。ただし、この設定では、ボリュームがプロビジョニングされるまで Pod がブロックされる可能性があります。Managed Lustre CSI ドライバは、トポロジ機能をサポートしています。これにより、永続ボリュームと Pod が 許可されたトポロジに配置されます。StorageClass で指定されたトポロジに基づいています。
mountOptions: 省略可。mount.lustreマウント オプションを指定します。Managed Lustre ボリュームは、これらのマウント オプションをpv.spec.mountOptionsフィールドの StorageClass から継承します。
永続ボリューム
次のマニフェストには、永続ボリュームでサポートされているすべてのフィールドが含まれています。
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
次の値を置き換えます。
capacity.storage: Managed Lustre インスタンスの容量。 サポートされている最小インスタンス容量と最大インスタンス容量については、パフォーマンス ティア をご覧ください。mountOptions:mount.lustreマウント オプションを指定します。この値は、StorageClass のmountOptionsフィールドから継承されます。csi.volumeHandle: Managed Lustre インスタンスの一意の識別子。次の形式を使用する必要があります。PROJECT_ID/LOCATION/INSTANCE_NAME。csi.volumeAttributes.ip: マウントに使用される Managed Lustre インスタンスの IP アドレス。csi.volumeAttributes.filesystem: Managed Lustre インスタンスのファイル システム名(8 文字の識別子)。