1.6. ベアメタルでの OpenShift Container Storage クラスターの作成

前提条件

  • ローカルストレージデバイスを使用した OpenShift Container Storage のインストールの要件についてのセクションにあるすべての要件を満たしていることを確認します。
  • ベアメタルでローカルストレージデバイスを使用するために、同じストレージタイプおよびサイズが各ノードに割り当てられた 3 つのワーカーノードが必要です (例: 2TB NVMe ハードドライブ)。
  • 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 を作成します。

    OCS ラベルをノードセレクターとして使用する 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-INTEL_SSDPEKKA128G7_BTPY81260978128A   # <-- modify this line
            - /dev/disk/by-id/nvme-INTEL_SSDPEKKA128G7_BTPY80440W5U128A   # <-- modify this line
            - /dev/disk/by-id/nvme-INTEL_SSDPEKKA128G7_BTPYB85AABDE128A   # <-- modify this line
  2. ブロック PV の LocalVolume CR を作成します。

    $ oc create -f local-storage-block.yaml
  3. Pod が作成されているかどうかを確認します。

    出力例:

    NAME                                    READY
    local-block-local-diskmaker-cmfql       1/1
    local-block-local-diskmaker-g6fzr       1/1
    local-block-local-diskmaker-jkqxt       1/1
    local-block-local-provisioner-jgqcc     1/1
    local-block-local-provisioner-mx49d     1/1
    local-block-local-provisioner-qbcvp     1/1
    local-storage-operator-54bc7566c6-ddbrt 1/1
    
    STATUS  RESTARTS AGE
    Running 0        31s
    Running 0        31s
    Running 0        31s
    Running 0        31s
    Running 0        31s
    Running 0        31s
    Running 0        12m
  4. PV が作成されているかどうかを確認します。

    $ oc get pv

    出力例:

    NAME                CAPACITY   ACCESS MODES   RECLAIM POLICY
    local-pv-150fdc87   931Gi      RWO            Delete
    local-pv-183bfc0a   931Gi      RWO            Delete
    local-pv-b2f5cb25   931Gi      RWO            Delete
    
    STATUS      CLAIM   STORAGECLASS   REASON   AGE
    Available           localblock              2m11s
    Available           localblock              2m15s
    Available           localblock              2m21s
  5. 新規 localblock StorageClass を確認します。

    $ oc get sc|egrep -e "localblock|NAME"

    出力例:

    NAME       PROVISIONER                  RECLAIMPOLICY
    localblock kubernetes.io/no-provisioner Delete
    
    VOLUMEBINDINGMODE    ALLOWVOLUMEEXPANSION AGE
    WaitForFirstConsumer false                4d23h
  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 をクリックします。

      図1.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 をクリックします。

        図1.4 Operator Details ページ

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

        図1.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 では、事前に定義されたラベルを選択して検索できます。
        • OpenShift Container Storage のラックラベルがデータセンターの物理ラックに合わせて調整されていることを確認し、障害ドメインのレベルで二重ノードに障害が発生しないようにします。

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

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

      注記

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

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

検証手順

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