第6章 LVMS プラグインを使用した動的ストレージ
Red Hat build of MicroShift は、論理ボリュームマネージャーストレージ (LVMS) コンテナーストレージインターフェイス (CSI) プロバイダーですぐに使用できる動的ストレージプロビジョニングを可能にします。LVMS プラグインは、Kubernetes の LVM ボリュームを管理するための CSI プラグインである TopoLVM の Red Hat ダウンストリームバージョンです。
LVMS は、適切に設定された永続ボリューム要求 (PVC) を使用して、コンテナーワークロード用の新しい論理ボリューム管理 (LVM) 論理ボリューム (LV) をプロビジョニングします。各 PVC は、ホストノード上の LVM ボリュームグループ (VG) を表すストレージクラスを参照します。LV は、スケジュールされた Pod に対してのみプロビジョニングされます。
6.1. LVMS システム要件
Red Hat build of MicroShift で LVMS を使用するには、次のシステム仕様が必要です。
6.1.1. ボリュームグループ名
LVMS のデフォルトの統合では、デフォルトのボリュームグループ (VG) が動的に選択されます。Red Hat build of MicroShift ホストにボリュームグループがない場合、LVMS は無効になります。
Red Hat build of MicroShift ホストの Red Hat ビルドに VG が 1 つだけある場合は、その VG が使用されます。複数のボリュームグループがある場合は、グループ microshift
が使用されます。microshift
グループが見つからない場合、LVMS は無効になります。
特定の VG を使用する場合は、その VG を選択するように LVMS を設定する必要があります。設定ファイルで VG のデフォルト名を変更できます。詳細は、このドキュメントの「LVMS の設定」セクションを参照してください。
設定ファイルで VG のデフォルト名を変更できます。詳細は、このドキュメントの「LVMS の設定」セクションを参照してください。
起動する前に、lvmd.yaml
設定ファイルで、ワークロードストレージに十分な容量を持つノード上の既存のボリュームグループを指定する必要があります。ボリュームグループが存在しないと、ノードコントローラーは起動に失敗し、CrashLoopBackoff
状態に入ります。
6.1.2. ボリュームサイズの増分
LVMS は、ストレージを 1 ギガバイト (GB) 単位でプロビジョニングします。ストレージ要求は、最も近い GB に切り上げられます。ボリュームグループの容量が 1 GB 未満の場合、PersistentVolumeClaim
は ProvisioningFailed
イベントを登録します。次に例を示します。
出力例
Warning ProvisioningFailed 3s (x2 over 5s) topolvm.cybozu.com_topolvm-controller-858c78d96c-xttzp_0fa83aef-2070-4ae2-bcb9-163f818dcd9f failed to provision volume with StorageClass "topolvm-provisioner": rpc error: code = ResourceExhausted desc = no enough space left on VG: free=(BYTES_INT), requested=(BYTES_INT)