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 を表示します。選択された Projectopenshift-storage であることを確認します。
    3. Installed Operators ページで、Openshift Container Storage をクリックします。

      図2.3 OpenShift Container Storage Operator ページ

      Screenshot of OpenShift Container Storage operator dashboard.
    4. Installed Operators → Operator Details ページで、以下のいずれかを実行して Storage Cluster Service を作成します。

      • Details タブで Provided APIs → OCS Storage Cluster で、Create Instance をクリックします。

        図2.4 Operator Details ページ

        Screenshot of Operator Details Page.
      • または、Storage cluster タブを選択し、Create OCS Cluster Service をクリックします。

        図2.5 Storage Cluster タブ

        Screenshot of Storage Cluster tab on OpenShift Container Storage Operator dashboard.
    5. Create Storage Cluster ページで、以下のオプションが選択されていることを確認します。

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

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

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

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

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

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

      注記

      Create ボタンは、最低でも 3 つのワーカーノードを選択した後にのみ有効になります。

      デプロイメントに成功すると、3 つのストレージデバイスを持つストレージクラスターが作成されます。これらのデバイスは、選択したノードの 3 つに分散されます。この設定では、3 のレプリケーション係数が使用されます。初期クラスターをスケーリングするには、「 ストレージノードのスケーリング 」を参照してください。

検証手順

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