3.6. OpenStack Manila CSI ドライバー Operator

3.6.1. 概要

OpenShift Container Platform は、OpenStack Manila 共有ファイルシステムサービスの Container Storage Interface (CSI) ドライバーを使用して永続ボリューム (PV) をプロビジョニングできます。

PVPersistent Volume Claim (永続ボリューム要求、PVC)動的プロビジョニング および RBAC 認証 について理解しておくことを推奨します。

PVC を作成する前に、Manila CSI ドライバー Operator をインストールする必要があります。Operator は、動的プロビジョニングに必要なすべての利用可能な Manila 共有タイプに必要なストレージクラスを作成します。

Operator のインストール後に、OpenShift Container Platform クラスターに必要な ManilaDriver カスタムリソース (CR) も作成する必要があります。

3.6.2. Manila CSI ドライバー Operator のインストール

Manila Container Storage Interface (CSI) ドライバー Operator は、デフォルトでは OpenShift Container Platform にインストールされません。以下の手順を使用してこの Operator をインストールし、クラスター内で OpenStack Manila CSI ドライバーを有効にできるように設定します。

前提条件

  • OpenShift Container Platform Web コンソールへのアクセスが必要です。
  • 基礎となる Red Hat OpenStack Platform (RHOSP) インフラストラクチャークラウドは、Manila 提供の NFS 共有をデプロイします。

手順

Web コンソールから Manila CSI ドライバー Operator をインストールするには、以下の手順を実行します。

  1. OpenShift Container Platform Web コンソールにログインします。
  2. OperatorsOperatorHub に移動します。
  3. Manila CSI Driver Operator をフィルターボックスに入力して Operator を見つけます。
  4. Install をクリックします。
  5. Install Operator ページで、Installed Namespace ドロップダウンメニューから openshift-manila-csi-driver-operator を選択します。
  6. Update Channel および Approval Strategy の値を必要な値に調整します。サポートされている唯一の インストールモードAll namespaces on the cluster です。
  7. Install をクリックします。

これが終了すると、Manila CSI ドライバー Operator が Web コンソールの Installed Operators セクションに一覧表示されます。

3.6.3. OpenStack Manila CSI ドライバーのインストール

OpenStack Manila Container Storage Interface (CSI) ドライバーは、OpenStack Manila 共有を作成し、マウントできるカスタムリソース (CR) です。これは、スナップショットの作成およびスナップショットからの共有のリカバリーもサポートします。

このドライバーは、デフォルトでは OpenShift Container Platform にインストールされず、Manila CSI ドライバー Operator のインストール後にインストールする必要があります。

前提条件

  • Manila CSI ドライバー Operator がインストールされている。
  • OpenShift Container Platform Web コンソールまたはコマンドラインインターフェース (CLI) へのアクセス。

UI の手順

Web コンソールから Manila CSI ドライバーをインストールするには、以下の手順を実行します。

  1. OpenShift Container Platform Web コンソールにログインします。
  2. OperatorsInstalled Operators に移動します。
  3. 一覧から Manila CSI Driver Operator を見つけ、Operator リンクをクリックします。
  4. ドライバーを作成します。

    1. Details タブで、Create Instance をクリックします。
    2. オプション: YAML view を選択し、表記の追加などの変更を ManilaDriver オブジェクトテンプレートに対して実行します。
    3. Create をクリックして確定します。

      重要

      クラスターの名前を変更し、特定の namespace を指定することはサポートされる機能ではありません。

CLI の手順

CLI から Manila CSI ドライバーをインストールするには、以下の手順を実行します。

  1. maniladriver.yaml などのオブジェクト YAML ファイルを作成して、ManilaDriver を定義します。

    maniladriver の例

      apiVersion: csi.openshift.io/v1alpha1
      kind: ManilaDriver
      metadata:
        name: cluster 1

    1
    クラスターの名前を変更し、特定の namespace を指定することはサポートされる機能ではありません。
  2. 直前の手順で作成したファイルを指定して、OpenShift Container Platform クラスターに ManilaDriver CR オブジェクトを作成します。

    $ oc create -f maniladriver.yaml

Operator のインストールが終了すると、Red Hat OpenStack Platform (RHOSP) での RWX 永続ボリュームの動的プロビジョニングのために Manila CSI ドライバーが OpenShift Container Platform にデプロイされます。

検証手順

  1. 以下のコマンドを入力して、ManilaDriver CR が正常に作成されていることを確認します。

    $ oc get all -n openshift-manila-csi-driver
    NAME                                                              READY   STATUS    RESTARTS   AGE
    pod/csi-nodeplugin-nfsplugin-lzvpm                                1/1     Running   0          18h
    pod/csi-nodeplugin-nfsplugin-slvg2                                1/1     Running   0          18h
    pod/csi-nodeplugin-nfsplugin-xmps9                                1/1     Running   0          18h
    pod/openstack-manila-csi-controllerplugin-7d4f5d985b-mw4x5        3/3     Running   0          17h
    pod/openstack-manila-csi-nodeplugin-6xchs                         2/2     Running   0          18h
    pod/openstack-manila-csi-nodeplugin-bkcmz                         2/2     Running   0          18h
    pod/openstack-manila-csi-nodeplugin-rlpps                         2/2     Running   0          18h
    
    NAME                                                              DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
    daemonset.apps/csi-nodeplugin-nfsplugin                           3       3       3     3          3                       18h
    daemonset.apps/openstack-manila-csi-nodeplugin                    3       3       3     3          3                       18h
    
    NAME                                                              READY UP-TO-DATE AVAILABLE AGE
    deployment.apps/openstack-manila-csi-controllerplugin             1/1   1          1         18h
    
    NAME                                                              DESIRED CURRENT READY AGE
    replicaset.apps/openstack-manila-csi-controllerplugin-7d4f5d985b  1       1       1     17h
  2. 以下のコマンドを入力して、ストレージクラスが正常に作成されていることを確認します。

    $ oc get storageclasses | grep -E "NAME|csi-manila-"
    NAME              PROVISIONER               RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION  AGE
    csi-manila-gold   manila.csi.openstack.org  Delete          Immediate           false                 18h

3.6.4. Manila CSI ボリュームの動的プロビジョニング

OpenShift Container Platform は利用可能な Manila 共有タイプ別に StorageClass をインストールします。

作成される YAML ファイルは Manila およびその Container Storage Interface (CSI) プラグインから完全に切り離されます。アプリケーション開発者は、ReadWriteMany (RWX) ストレージを動的にプロビジョニングし、YAML マニフェストを使用してストレージを安全に使用するアプリケーションと共に Pod をデプロイできます。ReadWriteOnce (RWO) などの他のアクセスモードをプロビジョニングすることもできます。

PVC 定義のストレージクラス参照を除き、AWS、GCP、Azure、および他のプラットフォームで OpenShift Container Platform で使用する同じ Pod および Persistent Volume Claim(永続ボリューム要求、PVC)定義をオンプレミスで使用できます。

前提条件

  • Red Hat OpenStack Platform (RHOSP) は適切な Manila 共有インフラストラクチャーでデプロイされ、OpenShift Container Platform でボリュームを動的にプロビジョニングし、マウントするために使用できます。

手順 (UI)

Web コンソールを使用して Manila CSI ボリュームを動的に作成するには、以下を実行します。

  1. OpenShift Container Platform コンソールで、StoragePersistent Volume Claims をクリックします。
  2. Persistent Volume Claim (永続ボリューム要求、PVC) の概要で、Create Persistent Volume Claim をクリックします。
  3. 結果のページで必要なオプションを定義します。

    1. 適切な StorageClass を選択します。
    2. ストレージ要求の一意の名前を入力します。
    3. アクセスモードを選択し、作成する PVC の読み取りおよび書き込みアクセスを指定します。

      重要
      • この PVC を満たす永続ボリューム (PV) をクラスター内の複数ノードの複数 Pod にマウントする必要がある場合には、RWX を使用します。
      • 追加の Pod が動的にプロビジョニングされないようにする必要がある場合には、RWO モードを使用します。
  4. ストレージ要求のサイズを定義します。
  5. Create をクリックし、 PersistentVolumeClaim を作成し、PersistentVolume を生成します。

手順 (CLI)

コマンドラインインターフェース (CLI) を使用して Manila CSI ボリュームを動的に作成するには、以下を実行します。

  1. 以下の YAML によって記述される PersistentVolumeClaim オブジェクトを使ってファイルを作成し、保存します。

    pvc-manila.yaml

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-manila
    spec:
      accessModes: 1
        - ReadWriteMany
      resources:
        requests:
      	storage: 10Gi
      storageClassName: csi-manila-gold 2

    1
    この PVC を満たす永続ボリューム (PV) をクラスター内の複数ノードの複数 Pod にマウントする必要がある場合には、RWX を使用します。ReadWriteOnce (RWO) モードを使用して、追加の Pod が動的にプロビジョニングされないようにします。
    2
    ストレージのバックエンドをプロビジョニングするストレージクラスの名前。Manila StorageClasses は Operator によってプロビジョニングされ、これには csi-manila- プレフィックスがあります。
  2. 以下のコマンドを実行して、直前の手順で保存されたオブジェクトを作成します。

    $ oc create -f pvc-manila.yaml

    新規 PVC が作成されます。

  3. ボリュームが作成され、準備状態にあることを確認するには、以下のコマンドを実行します。

    $ oc get pvc pvc-manila

    pvc-manila は、これが Bound であることを示します。

新規 PVC を使用して Pod を設定できるようになりました。

3.6.5. Manila CSI ドライバー Operator のアンインストール

Manila Container Storage Interface (CSI) ドライバー Operator をアンインストールする前に、Operator によって使用されるすべての Persistent Volume Claim (永続ボリューム要求、PVC) を削除する必要があります。

前提条件

  • OpenShift Container Platform Web コンソールへのアクセス。

手順

Web コンソールから Manila CSI ドライバー Operator をアンインストールするには、以下を実行します。

  1. Web コンソールにログインします。
  2. StoragePersistent Volume Claims に移動します。
  3. Manila CSI Driver Operator によって使用される PVC を選択し、Delete をクリックします。
  4. OperatorsInstalled Operators ページからスクロールするか、または Manila CSIFilter by name フィールドに入力して Operator を見つけます。次に、それをクリックします。
  5. Installed Operators 詳細ページの右側で、Actions ドロップダウンメニューから Uninstall Operator を選択します。
  6. Uninstall Operator ウィンドウでプロンプトが表示されたら、Uninstall ボタンをクリックして namespace から Operator を削除します。Operator によってクラスターにデプロイされたアプリケーションは手動でクリーンアップする必要があります。

これが終了すると、Manila CSI ドライバー Operator が Web コンソールの Installed Operators セクションに一覧表示されなくなります。

追加リソース


このページには機械翻訳が使用されている場合があります (詳細はこちら)。