第6章 LVMS プラグインを使用した動的ストレージ
MicroShift は動的ストレージプロビジョニングに対応しています。動的ストレージプロビジョニングは、論理ボリュームマネージャーストレージ (LVMS) Container Storage Interface (CSI) プロバイダーですぐに使用できます。LVMS プラグインは、Kubernetes の論理ボリューム管理 (LVM) 論理ボリューム (LV) を管理するための CSI プラグインである TopoLVM の Red Hat ダウンストリームバージョンです。
LVMS は、適切に設定された永続ボリューム要求 (PVC) を使用して、コンテナーワークロード用の新しい LVM 論理ボリュームをプロビジョニングします。各 PVC は、ホストノード上の LVM ボリュームグループ (VG) を表すストレージクラスを参照します。LV は、スケジュールされた Pod に対してのみプロビジョニングされます。
6.1. LVMS システム要件
MicroShift で LVMS を使用するには、次のシステム仕様が必要です。
6.1.1. ボリュームグループ名
/etc/microshift/
ディレクトリーにある lvmd.yaml
ファイルで LVMS を設定しなかった場合、MicroShift は vgs
コマンドを実行してデフォルトのボリュームグループ (VG) を動的に割り当てます。
- VG が 1 つだけ検出された場合、MicroShift はデフォルトの VG を割り当てます。
-
複数の VG が存在する場合、
microshift
という名前の VG がデフォルトとして割り当てられます。 -
microshift
という名前の VG が存在しない場合、LVMS はデプロイされません。
MicroShift ホストにボリュームグループがない場合、LVMS は無効になります。
特定の VG を使用する場合は、その VG を選択するように LVMS を設定する必要があります。設定ファイルで VG のデフォルト名を変更できます。詳細は、このドキュメントの「LVMS の設定」セクションを参照してください。
設定ファイルで VG のデフォルト名を変更できます。詳細は、このドキュメントの「LVMS の設定」セクションを参照してください。
MicroShift が起動したら、lvmd.yaml
を更新して VG を追加または削除できます。変更を実装するには、MicroShift を再起動する必要があります。lvmd.yaml
が削除された場合、MicroShift はデフォルトの VG を再度検索します。
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)