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

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

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

  • 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 ドライバは、トポロジ機能をサポートしています。これにより、永続ボリュームと 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 文字の識別子)。