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 OptionsAdvanced オプションを使用します。詳細は、「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"}'

各ノードのストレージデバイスを特定するには、利用可能なストレージデバイスの検索について参照してください。

手順

  1. ブロック PV の LocalVolume CR を作成します。

    OpenShift Container Storage ラベルをノードセレクターとして使用する LocalVolume CR local-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
  2. ブロック PV の LocalVolume CR を作成します。

    $ oc create -f local-storage-block.yaml

    出力例:

    localvolume.local.storage.openshift.io/local-block created
  3. 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
  4. 新規 localblock StorageClass を確認します。

    $ oc get sc | grep localblock

    出力例:

    localblock       kubernetes.io/no-provisioner   Delete          WaitForFirstConsumer   false                  96s
  5. 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
  6. localblock Storage Class ストレージクラスを使用する OpenShift Container Storage Cluster Service を作成します。

    1. OpenShift Web コンソールにログインします。
    2. OpenShift Web コンソールの左側のペインで Operators → Installed Operators をクリックし、インストールされた Operator を表示します。

      図2.5 OpenShift Container Storage Operator ページ

      Screenshot of OpenShift Container Storage operator dashboard.
    3. OpenShift Container Storage インストール Operator をクリックします。
    4. Operator Details ページで、Storage Cluster リンクをクリックします。

      図2.6 Storage Cluster タブ

      Screenshot of Storage Cluster tab on OpenShift Container Storage Operator dashboard.
    5. Create OCS Cluster Service をクリックします。

      Screenshot of Create Cluster Service page
    6. Select ModeInternal のままにします。
    7. Nodes セクションでは、OpenShift Container Storage サービスを使用するために、利用可能なノードの一覧から 3 つ以上の ワーカーノードを選択します。

      高可用性を確保するために、ワーカーノードは 3 つの異なる物理ノード、ラック、障害ドメインに分散することが推奨されます。

      注記
      • クラスターで特定のワーカーノードを見つけるには、Name または Label に基づいてノードをフィルターできます。

        • Name では、ノード名で検索できます。
        • Label では、事前に定義されたラベルを選択して検索できます。
      • vCenter の非アフィニティーを使用して OpenShift Container Storage のラックラベルをデータセンターの物理ノードおよびラックラベルに合わせて調整し、同じ物理シャーシに 2 つのワーカーノードがスケジュールされないようにします。

      ノードの最小要件については、『プランニング』ガイドの「リソース要件」セクションを参照してください。

    8. Storage Class ドロップダウンリストから localblock を選択します。
    9. Create をクリックします。

      Create ボタンは、3 つのノードを選択した後にのみ有効になります。3 つのボリュームからなる新規ストレージクラスターは、1 ワーカーノードごとに 1 つのボリュームを設定して作成されます。デフォルト設定では、レプリケーション係数 3 を使用します。

検証手順

OpenShift Container Storage インストールの検証について参照してください。