Managed Lustre CSI ドライバのリファレンス

次のマニフェストは、StorageClass リソースと Persistent Volume リソースでサポートされている CSI ドライバ フィールドについて説明しています。

ストレージ クラス

次のマニフェストには、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

次の値を置き換えます。

  • network: 省略可。マネージド Lustre インスタンスを作成する Virtual Private Cloud(VPC)ネットワーク。このプロパティが指定されていない場合は、デフォルトのネットワークが使用されます。

    共有 VPC ネットワークに Managed Lustre インスタンスを作成するには、ネットワークの完全な名前を指定する必要があります。例: projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME

  • filesystem: Managed Lustre インスタンスの fsname を指定します。このパラメータは、動的プロビジョニングに使用されます。fsname は、アルファベットで始まる最大 8 文字の英数字文字列にする必要があります。値を指定しない場合、CSI ドライバは "lfsNNNNN" 形式("lfs97603" など)の fsname を生成します。

  • labels: 省略可。 Managed Lustre は、インスタンスごとにラベルを Key-Value ペアのマップとしてサポートします。Managed Lustre CSI ドライバを使用すると、ユーザーが指定したラベルをインスタンスに付加できます。

  • description: 省略可。インスタンスの説明。2,048 文字以下にする必要があります。

  • perUnitStorageThroughput: インスタンスの単位あたりのストレージ スループット(MB/秒/TiB)を指定します。サポートされる値は 1252505001000 です。デフォルトは 1000 です。

  • allowTopologies: 省略可。Managed Lustre インスタンスはゾーン リソースです。このプロパティが指定されていない場合、Managed Lustre インスタンスは CSI コントローラ ドライバ Pod と同じゾーンに作成され、ボリューム バインディング モードはデフォルトで Immediate になります。

    WaitForFirstConsumer が指定されている場合、トポロジは Pod がスケジュールされている場所に設定されます。ただし、この設定により、ボリュームがプロビジョニングされるまで Pod がブロックされる可能性があります。

    Managed Lustre CSI ドライバは、トポロジ機能をサポートしています。これにより、StorageClass で指定されたトポロジに基づいて、永続ボリュームと Pod が許可されたトポロジに配置されます。

  • mountOptions: 省略可。mount.lustre マウント オプションを指定します。Managed Lustre ボリュームは、pv.spec.mountOptions フィールドの StorageClass からこれらのマウント オプションを継承します。

永続ボリューム

次のマニフェストには、Persistent 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

次の値を置き換えます。

  • 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 文字の識別子です。