7.2. ストレージクラスの作成
Red Hat OpenStack Services on OpenShift (RHOSO) Pod に永続ボリュームを提供するには、Red Hat OpenShift Container Platform (RHOCP) クラスターストレージバックエンドのストレージクラスを作成する必要があります。このストレージクラスを、RHOSO コントロールプレーンのデプロイメントのクラスターストレージバックエンドとして指定します。ストレージクラスには、SSD または NVMe ドライブに基づくストレージバックエンドを使用します。
永続ボリュームを提供できる既存のストレージクラスがない場合は、Logical Volume Manager Storage Operator を使用して RHOSO のストレージクラスを提供できます。LVM を使用している場合は、コントロールプレーンを作成する前に、LVM Storage Operator により、ストレージが利用可能であることが通知されるまで待つ必要があります。LVM Storage Operator は、ワーカーノードオブジェクトへのボリュームグループのアノテーションを通じて、クラスターと LVMS ストレージの設定が完了したことを通知します。すべてのコントロールプレーンノードの準備が整う前に Pod をデプロイすると、複数の PVC と Pod が同じノードにスケジュールされます。
ストレージの準備ができているかどうかを確認するには、lvmclusters.lvm.topolvm.io オブジェクト内のノードをクエリーします。たとえば、ワーカーノードが 3 つあり、LVM Storage Operator のデバイスクラスの名前が "local-storage" である場合は、次のコマンドを実行します。
# oc get node -l "topology.topolvm.io/node in ($(oc get nodes -l node-role.kubernetes.io/worker -o name | cut -d '/' -f 2 | tr '\n' ',' | sed 's/.\{1\}$//'))" -o=jsonpath='{.items[*].metadata.annotations.capacity\.topolvm\.io/local-storage}' | tr ' ' '\n'
このコマンドによって、ゼロ以外の値が 3 つ返されれば、ストレージは準備完了です。