この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

これは未公開の文書です SUSE® Storage 1.12 (Dev).

ストレージクラスのパラメータ

概要

ストレージクラスはリソースオブジェクトとして、いくつかの設定可能なパラメータを持っています。

例:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: longhorn-test
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
  backupTargetName: "default"
  numberOfReplicas: "3"
  staleReplicaTimeout: "2880"
  fromBackup: ""
  fsType: "ext4"
#  mkfsParams: ""
#  migratable: false
#  encrypted: false
#  dataLocality: "disabled"
#  replicaAutoBalance: "ignored"
#  diskSelector: "ssd,fast"
#  nodeSelector: "storage,fast"
#  recurringJobSelector: '[{"name":"snap-group", "isGroup":true},
#                          {"name":"backup", "isGroup":false}]'
#  backingImageName: ""
#  backingImageChecksum: ""
#  backingImageDataSourceType: ""
#  backingImageDataSourceParameters: ""
#  unmapMarkSnapChainRemoved: "ignored"
#  disableRevisionCounter: false
#  replicaSoftAntiAffinity: "ignored"
#  replicaZoneSoftAntiAffinity: "ignored"
#  replicaDiskSoftAntiAffinity: "ignored"
#  nfsOptions: "soft,timeo=150,retrans=3"
#  dataEngine: "v1"
#  freezeFSForSnapshot: "ignored"
# allowedTopologies:
#   - matchLabelExpressions:
#       - key: topology.kubernetes.io/zone
#         values:
#           - us-central-1a
#           - us-central-1b

ビルトインフィールド

特定のフィールドはすべてのKubernetesストレージクラスに共通です。 詳細については、 Kubernetesストレージクラスを参照してください。

プロビジョナー (フィールド: provisioner)

永続ボリュームの動的作成に使用されるプラグインを指定します。SUSE Storageの場合、それは常に`driver.longhorn.io`です。

ボリューム拡張の許可 (フィールド: allowVolumeExpansion)

デフォルト: true Kubernetesストレージクラス: ボリューム拡張の許可を参照してください。

リクレームポリシー (フィールド: reclaimPolicy)

デフォルト: Delete Kubernetesストレージクラス: リクレームポリシーを参照してください。

マウントオプション (フィールド: mountOptions)

デフォルト [] Kubernetesストレージクラス - マウントオプションを参照してください。

ボリュームバインディングモード (フィールド: volumeBindingMode)

デフォルト Immediate Kubernetesストレージクラス - ボリュームバインディングモードを参照してください。

許可されたトポロジー (フィールド: allowedTopologies)

Kubernetesリファレンスを参照してください ストレージクラス — 許可されたトポロジー

これは、ボリュームがノードラベルを一致させることによってプロビジョニングされるノードのセットを指定します。 SUSE Storageはこのフィールドを使用して、CSI `accessibleTopology`フィールドを介してPVの`nodeAffinity`を埋めます。

allowedTopologies`が有効になるためには、SUSE Storage設定`csi-allowed-topology-keysが対応するトポロジキー(例えば、topology.kubernetes.io/zone)で構成されている必要があります。この設定がないと、トポロジ情報は渡されず、PVには`nodeAffinity`がありません。

使用しないでください `allowedTopologies`と`parameters.dataLocality: strict-local`を一緒に使用しないでください。結果として得られるPV `nodeAffinity`は不変になり、SUSE Storageの厳密なローカルボリュームピンニングと衝突します。

例を含む完全な手順については、トポロジ対応プロビジョニングを参照してください。

SUSE Storage固有のパラメータ

これらのパラメータのいくつかは、グローバル設定にも存在し、指定される場合があります。特定のストレージクラスに対してKubernetesでボリュームがプロビジョニングされると、ストレージクラスのパラメータがグローバル設定を上書きします。 これらのフィールドは、新しいボリュームの作成にのみ適用されます。ストレージクラスが変更されると、SUSE StorageもKubernetesも、そのパラメータの変更を以前に作成されたボリュームに伝播することはありません。

レプリカの数 (フィールド: parameters.numberOfReplicas)

デフォルト: 3

冗長性のための希望するコピー(レプリカ)の数。

  • 1から20の間でなければなりません。

  • レプリカは、ノードセレクタなどの他の制約に従い、クラスター内の可能な限り広いゾーン、ノード、およびディスクに配置されます。

グローバル設定 - デフォルトレプリカ数

古いレプリカタイムアウト (フィールド: parameters.staleReplicaTimeout)

デフォルト: 30

レプリカが不健康とマークされてから、再構築に役立たないと見なされて削除されるまでの分数。

バックアップから (フィールド: parameters.fromBackup)

デフォルト: "" 例: "s3://backupbucket@us-east-1?volume=minio-vol01&backup=backup-eeb2782d5b2f42bb"

復元するバックアップのURL。

FSタイプ (フィールド: parameters.fsType)

デフォルト: ext4 詳細については、KubernetesでのLonghornボリュームの作成を確認してください。

Mkfsパラメータ (フィールド: parameters.mkfsParams)

デフォルト: "" 詳細については、KubernetesでのLonghornボリュームの作成を確認してください。

移行可能 (フィールド: parameters.migratable)

デフォルト: false

Longhornボリュームのライブマイグレーション機能を有効にし、アクティブなI/O操作を維持しながら、ボリュームを1つのノードから別のノードに移行できるようにします。

使用するタイミング:

  1. migratable: true:ライブマイグレーションを必要とするワークロードの場合。`ReadWriteMany`アクセスモードと`volumeMode: Block`と一緒に使用する必要があります。

  2. migratable: false:ライブマイグレーション機能を必要としない標準ボリュームの場合。

詳細については、ReadWriteMany (RWX) ボリュームを確認してください。

暗号化 (フィールド: parameters.encrypted)

デフォルト: false 詳細については、暗号化されたボリュームを確認してください。

データのローカリティ (フィールド: parameters.dataLocality)

デフォルト: disabled

有効にすると、パフォーマンスを向上させるために、ワークロードと同じノードにデータを保持しようとします。

  • `best-effort`の場合、レプリカは可能であれば同じ場所に配置されますが、そうでない場合は別のノードを見つけることが許可されます。

  • `strict-local`の場合、レプリカの数は1である必要があり、そうでないとボリュームの作成はパラメータ検証エラーで失敗します。

  • 他の理由で`strict-local`が不可能な場合、ボリュームの作成は失敗します。ワークロードから外れたレプリカ strict-local は、`"Stopped"`としてマークされます。

グローバル設定 - デフォルトのデータローカリティ。 詳細については、データローカリティを確認してください。

レプリカ自動バランス (フィールド: parameters.replicaAutoBalance)

デフォルト: ignored

有効にすると、レプリカを負荷の軽いノードに移動します。

  • `ignored`はグローバル設定を使用することを意味します。

  • 他のオプションは`disabled`、least-effort、`best-effort`です。

グローバル設定 - レプリカ自動バランス。 詳細については、レプリカ自動バランスを確認してください。

ディスクセレクター (フィールド: parameters.diskSelector)

デフォルト: "" 例: "ssd,fast"

レプリカ配置の候補となるディスクを選択するためのタグのリスト。

詳細については、ストレージタグを確認してください。

ノードセレクター (フィールド: parameters.nodeSelector)

デフォルト: "" 例: "storage,fast"

レプリカ配置の候補となるノードを選択するためのタグのリスト。

詳細については、ストレージタグを確認してください。

定期ジョブセレクター (フィールド: parameters.recurringJobSelector)

デフォルト: "" 例: [{"name":"backup", "isGroup":true}]

ボリュームで実行される定期ジョブのリスト。

詳細については、定期バックアップ/スナップショットジョブの作成を確認してください。

バックイメージ名 (フィールド: parameters.backingImageName)

デフォルト: "" バックイメージを参照してください。

バックイメージチェックサム (フィールド: parameters.backingImageChecksum)

デフォルト: "" バックイメージを参照してください。

バックイメージデータソースタイプ (フィールド: parameters.backingImageDataSourceType)

デフォルト: "" バックイメージを参照してください。

バックイメージデータソースパラメータ (フィールド: parameters.backingImageDataSourceParameters)

デフォルト: "" バックイメージを参照してください。

アンマップマークスナップチェーンが削除されました (フィールド: parameters.unmapMarkSnapChainRemoved)

デフォルト: ignored

  • `ignored`はグローバル設定を使用することを意味します。

  • 他の値は enableddisabled です。

グローバル設定 - スナップショットをファイルシステムのトリム中に削除する。 詳細については、ファイルシステムのトリムをご確認ください。

リビジョンカウンターを無効にする (フィールド: parameters.disableRevisionCounter)

デフォルト: true

グローバル設定 - リビジョンカウンターを無効にする。 詳細については、リビジョンカウンターをご確認ください。

レプリカソフトアンチアフィニティ (フィールド: parameters.replicaSoftAntiAffinity)

デフォルト: ignored

  • `ignored`はグローバル設定を使用することを意味します。

  • 他の値は enableddisabled です。

グローバル設定 - レプリカノードレベルソフトアンチアフィニティ。 詳細については、スケジューリングおよびベストプラクティスをご確認ください。

レプリカゾーンソフトアンチアフィニティ (フィールド: parameters.replicaZoneSoftAntiAffinity)

デフォルト: ignored

  • `ignored`はグローバル設定を使用することを意味します。

  • 他の値は enableddisabled です。

グローバル設定 - レプリカゾーンレベルソフトアンチアフィニティ。 詳細については、スケジューリングをご確認ください。

レプリカディスクソフトアンチアフィニティ (フィールド: parameters.replicaDiskSoftAntiAffinity)

デフォルト: ignored

  • `ignored`はグローバル設定を使用することを意味します。

  • 他の値は enableddisabled です。

グローバル設定 - レプリカディスクレベルソフトアンチアフィニティ。 詳細については、スケジューリングをご確認ください。

NFSオプション (フィールド: parameters.nfsOptions)

デフォルト: "" 例: "hard,sync"

  • RWXボリュームのNFSマウントのオーバーライドをシェアマネージャーに適用します。このフィールドは注意して使用してください。

    ビルトインオプションはリリースによって異なります。この設定を行う前に、リリースの詳細を確認してください。

詳細については、RWX Workloadsをご確認ください。

データエンジン (field: parameters.dataEngine)

デフォルト: "v1"

  • V2データエンジンを有効にするには「v2」を指定してください(技術プレビュー機能)。指定しない場合、SUSE Storageはデフォルト値(「v1」)を使用します。

グローバル設定:V2データエンジン。 詳細はV2データエンジン クイックスタートにあります。

スナップショットのためのファイルシステムを凍結 (フィールド: parameters.freezeFilesystemForSnapshot)

デフォルト: ignored

  • `ignored`はSUSE Storageにグローバル設定を使用するよう指示します。

  • 他の値は enableddisabled です。

バックアップターゲット名 (field: parameters.backupTargetName)

デフォルト: default

バックアップブロックサイズ (field: parameters.backupBlockSize)

デフォルト: ""

例:"2Mi"`または`"16Mi"

Kubernetesの数量文字列。グローバル設定を適用するには、空の文字列""を使用してください。

詳細については、以下を参照してください。

Helmインストール

SUSE Storage が Helm を介してインストールされている場合、デフォルトのストレージクラスの値は values.yaml の対応する項目を編集することで設定できます。 すべてのストレージクラスのパラメータには persistence のプレフィックスがあります。 たとえば、`persistence.defaultNodeSelector`と指定します。