次のマニフェストは、Storage Class リソースと Persistent Volume リソースでサポートされている CSI ドライバ フィールドを示しています。
ストレージ クラス
次のマニフェストには、ストレージ クラスでサポートされているすべてのフィールドが含まれています。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: parallelstore-csi-sc
provisioner: parallelstore.csi.storage.gke.io
parameters:
network: VPC_NETWORK_NAME # optional
labels: KEY: VALUE # optional
description: DESCRIPTION # optional
reserved-ip-range: IP_RANGE_NAME # optional
file-stripe-level: FILE_STRIPE_LEVEL # optional
directory-stripe-level: DIRECTORY_STRIPE_LEVEL # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
volumeBindingMode: VOLUME_BINDING_MODE # default is "immediate"; or "waitForFirstConsumer"
allowedTopologies: # optional
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count
次のフィールドはすべて省略可能です。
network: Parallelstore インスタンスを作成する VPC ネットワーク。このプロパティが指定されていない場合、GKE クラスタのネットワークが使用されます。共有 VPC ネットワークに Parallelstore インスタンスを作成するには、ネットワークの完全な名前を指定する必要があります。次に例を示します。
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAMElabels: このインスタンスにアタッチするユーザー指定の Key-Value ペア。description: インスタンスの説明。2,048 文字以内にしてください。reserved-ip-range: 割り振り済みの IP アドレス範囲の名前。指定しない場合は、すべての範囲が考慮されます。file-stripe-levelは、ファイル ストライプ設定を定義します。指定できる値は次のとおりです。file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
詳細については、パフォーマンスに関する考慮事項をご覧ください。
directory-stripe-levelは、ディレクトリのストライプレベルを定義します。指定できる値は次のとおりです。directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-stripe-level-min
詳細については、パフォーマンスに関する考慮事項をご覧ください。
mountLocality: 動的プロビジョニングにノードローカル マウントモードを有効にします。指定できる値はnodeまたはpodです。デフォルトはpodです。nodeを指定する場合は、次のオプションも使用できます。dfuseCPURequest: dfuse プロセスの CPU リクエスト。デフォルトは250mです。dfuseMemoryRequest: dfuse プロセスのメモリ リクエスト。デフォルトは512Miです。dfuseCPULimit: dfuse プロセスの CPU の上限。デフォルトは未設定です。dfuseMemoryLimit: dfuse プロセスのメモリ上限。デフォルトは10Giです。
allowedTopologies: Parallelstore インスタンスを作成するゾーンを指定します。このフィールドを指定しない場合、インスタンスは CSI ドライバのデプロイメントと同じゾーンに、immediateボリューム バインディング モードで作成されます。volumeBindingMode: トポロジ選択モードを指定します。immediateモードでは、allowedTopologiesで指定された値が使用されます。waitForFirstConsumerモードでは、GKE Pod がスケジュールされるゾーンにトポロジが割り当てられます。これにより、ボリュームのプロビジョニングを待機している間に Pod がブロックされる可能性があります。mountOptions: dfuse マウント オプションとカーネル パラメータ(read_ahead_kbやmax_ratioなど)を指定します。Parallelstore インスタンスが基盤のボリュームは、永続ボリュームの.spec.mountOptionsフィールドでこれらの値を継承します。次の選択肢があります。
disable-caching: すべてのキャッシュ保存を無効にします。デフォルトでは、GKE で Parallelstore インスタンスをマウントすると、完全なキャッシング(ライトバック キャッシュを除く)が有効になります。enable-wb-cache: ライトスルーではなくライトバック キャッシュを使用します。thread-count: 使用するスレッドの数。この値は、FUSE スレッドの数とイベントキューの数の合計です。eq-count: 使用するイベントキューの数。read_ahead_kb: 先読みウィンドウのサイズ(キロバイト単位)。max_ratio: 特定のデバイスが書き戻しキャッシュの指定した割合を超えて使用しないように制限できます。
これらのオプションの詳細については、パフォーマンスに関する考慮事項をご覧ください。
永続ボリューム
次のマニフェストには、Persistent Volume でサポートされているすべてのフィールドが含まれています。
apiVersion: v1
kind: PersistentVolume
metadata:
name: parallelstore-pv
annotations:
pv.kubernetes.io/provisioned-by: parallelstore.csi.storage.gke.io
spec:
storageClassName: parallelstore-csi-sc
capacity:
storage: INSTANCE_SIZE # 12Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain # or "Delete"
volumeMode: Filesystem
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count, read_ahead_kb, max_ratio
csi:
driver: parallelstore.csi.storage.gke.io
volumeHandle: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
volumeAttributes:
accessPoints: ACCESS_POINTS # comma-separated list of IP addresses
network: VPC_NETWORK # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
capacity: Parallelstore インスタンスの容量。12Ti、16Ti、20Tiのいずれかにする必要があります。mountOptions: StorageClass のmountOptionsフィールドから継承します。csi.volumeHandle: Parallelstore インスタンスの排他的識別子。形式はPROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-containerにする必要があります。csi.volumeAttributes.accessPoints: Parallelstore サーバーノードの IP アドレスのリスト(カンマ区切り)。csi.volumeAttributes.network: Parallelstore インスタンスの VPC ネットワーク。GKE クラスタのネットワークと一致している必要があります。このフィールドは、CSI ドライバがマウントする前に、指定された Parallelstore インスタンスが有効なネットワークにあることを確認するために使用されます。csi.volumeAttributes.mountLocality: 動的プロビジョニングにノードローカル マウントモードを有効にします。サポートされている値は、nodeとpodです。デフォルトはpodです。nodeを指定する場合は、次のオプションも使用できます。csi.volumeAttributes.dfuseCPURequest: dfuse プロセスの CPU リクエスト。デフォルトは250mです。csi.volumeAttributes.dfuseMemoryRequest: dfuse プロセスのメモリ リクエスト。デフォルトは512Miです。csi.volumeAttributes.dfuseCPULimit: dfuse プロセスの CPU の上限。デフォルトは未設定です。csi.volumeAttributes.dfuseMemoryLimit: dfuse プロセスのメモリ上限。デフォルトは10Giです。