2.7. VMware での OpenShift Container Storage クラスターの作成
以下の手順を使用して、VMware インフラストラクチャーにストレージクラスターを作成します。
VMware は、以下の 3 つのタイプのローカルストレージをサポートします。
- 仮想マシンディスク(VMDK)
- raw デバイスマッピング(RDM)
- VMDirectPath I/O
前提条件
- ローカルストレージデバイスを使用した OpenShift Container Storage のインストールの要件についてのセクションにあるすべての要件を満たしていることを確認します。
- VMware でローカルストレージデバイスを使用するために、各ノードに同じストレージタイプおよびサイズが割り当てられた 3 つのワーカーノードが必要です。
-
VMware の仮想マシンでは、
disk.EnableUUID
オプションがTRUE
に設定されていることを確認してください。仮想マシンを設定するには、vCenter アカウントの権限が必要です。詳細は、「Required vCenter account privileges」を参照してください。disk.EnableUUID
オプションを設定するには、Customize hardware タブで VM Options の Advanced オプションを使用します。詳細は、「Creating Red Hat Enterprise Linux CoreOS (RHCOS) machines in vSphere」を参照してください。 OpenShift Container Platform ワーカーノードに OpenShift Contaner Storage ラベルを付けられていることを確認します。
$ oc get nodes -l cluster.ocs.openshift.io/openshift-storage -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}'
各ノードのストレージデバイスを特定するには、利用可能なストレージデバイスの検索について参照してください。
手順
ブロック PV の LocalVolume CR を作成します。
OpenShift Container Storage ラベルをノードセレクターとして使用する
LocalVolume
CRlocal-storage-block.yaml
の例:apiVersion: local.storage.openshift.io/v1 kind: LocalVolume metadata: name: local-block namespace: local-storage labels: app: ocs-storagecluster spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: cluster.ocs.openshift.io/openshift-storage operator: In values: - "" storageClassDevices: - storageClassName: localblock volumeMode: Block devicePaths: - /dev/disk/by-id/nvme-eui.01000000010000005cd2e4895e0e5251 # <-- modify this line - /dev/disk/by-id/nvme-eui.01000000010000005cd2e4ea2f0f5251 # <-- modify this line - /dev/disk/by-id/nvme-eui.01000000010000005cd2e4de2f0f5251 # <-- modify this line
ブロック PV の
LocalVolume
CR を作成します。$ oc create -f local-storage-block.yaml
出力例:
localvolume.local.storage.openshift.io/local-block created
Pod が作成されているかどうかを確認します。
$ oc -n local-storage get pods
出力例:
NAME READY STATUS RESTARTS AGE local-block-local-diskmaker-5brzv 1/1 Running 0 31s local-block-local-diskmaker-8sxcs 1/1 Running 0 31s local-block-local-diskmaker-s7s9p 1/1 Running 0 31s local-block-local-provisioner-9cbw8 1/1 Running 0 31s local-block-local-provisioner-cpddv 1/1 Running 0 31s local-block-local-provisioner-f6h7h 1/1 Running 0 31s local-storage-operator-75b9776b75-vwdzh 1/1 Running 0 12m
新規の
localblock
StorageClass を確認します。$ oc get sc | grep localblock
出力例:
localblock kubernetes.io/no-provisioner Delete WaitForFirstConsumer false 96s
Available
のステータスで作成されている PV を確認します。$ oc get pv
出力例:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-264b0256 1490Gi RWO Delete Available localblock 108s local-pv-8b0e9b53 1490Gi RWO Delete Available localblock 99s local-pv-8dcc8c60 1490Gi RWO Delete Available localblock 98s
localblock
Storage Class を使用する OpenShift Container Storage Cluster Service を作成します。- OpenShift Web コンソールにログインします。
- OpenShift Web コンソールから Operators → Installed Operators をクリックし、インストールされた Operator を表示します。選択された Project が openshift-storage であることを確認します。
Installed Operators ページで、Openshift Container Storage をクリックします。
図2.3 OpenShift Container Storage Operator ページ
Installed Operators → Operator Details ページで、以下のいずれかを実行して Storage Cluster Service を作成します。
Details タブで Provided APIs → OCS Storage Cluster で、Create Instance をクリックします。
図2.4 Operator Details ページ
または、Storage cluster タブを選択し、Create OCS Cluster Service をクリックします。
図2.5 Storage Cluster タブ
Create Storage Cluster ページで、以下のオプションが選択されていることを確認します。
- Select Mode を Internal のままにします。
Nodes セクションでは、OpenShift Container Storage サービスを使用するには、利用可能な一覧から 3 つ以上のワーカーノードを選択します。
高可用性を確保するために、ワーカーノードは 3 つの異なる物理ノード、ラック、障害ドメインに分散することが推奨されます。
注記クラスターで特定のワーカーノードを見つけるには、Name または Label に基づいてノードをフィルターできます。
- Name では、ノード名で検索できます。
- Label では、事前に定義されたラベルを選択して検索できます。
- vCenter の非アフィニティーを使用して OpenShift Container Storage のラックラベルをデータセンターの物理ノードおよびラックラベルに合わせて調整し、同じ物理シャーシに 2 つのワーカーノードがスケジュールされないようにします。
ノードの最小要件については、『プランニング』ガイドの「リソース要件」セクションを参照してください。
- Storage Class ドロップダウンリストから localblock を選択します。
Create をクリックします。
注記Create ボタンは、最低でも 3 つのワーカーノードを選択した後にのみ有効になります。
デプロイメントに成功すると、3 つのストレージデバイスを持つストレージクラスターが作成されます。これらのデバイスは、選択したノードの 3 つに分散されます。この設定では、3 のレプリケーション係数が使用されます。初期クラスターをスケーリングするには、「 ストレージノードのスケーリング 」を参照してください。
検証手順
OpenShift Container Storage インストールの検証について参照してください。