5.14. Google Compute Platform Filestore CSI ドライバーオペレーター

5.14.1. 概要

OpenShift Container Platform は、Google Compute Platform (GCP) Filestore Storage の Container Storage Interface (CSI) ドライバーを使用して永続ボリューム (PV) をプロビジョニングできます。

重要

GCP Filestore CSI Driver Operator はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

CSI Operator およびドライバーを使用する場合、永続ストレージ および CSI ボリュームの設定 について理解しておくことが推奨されます。

GCP Filestore Storage アセットにマウントする CSI プロビジョニング PV を作成するには、GCP Filestore CSI Driver Operator と GCP Filestore CSI ドライバーを openshift-cluster-csi-drivers namespace にインストールします。

  • GCP Filestore CSI Driver Operator は、デフォルトではストレージクラスを提供しませんが、必要に応じて作成できます。GCP Filestore CSI ドライバー Operator は、ストレージボリュームをオンデマンドで作成できるようにし、クラスター管理者がストレージを事前にプロビジョニングする必要がなくすことで、動的ボリュームのプロビジョニングをサポートします。
  • GCP Filestore CSI ドライバー を使用すると、GCP Filestore PV を作成してマウントできます。

5.14.2. CSI について

ストレージベンダーはこれまで Kubernetes の一部としてストレージドライバーを提供してきました。Container Storage Interface (CSI) の実装では、サードパーティーのプロバイダーは、コア Kubernetes コードを変更せずに標準のインターフェイスを使用してストレージプラグインを提供できます。

CSI Operator は、in-tree (インツリー) ボリュームプラグインでは不可能なボリュームスナップショットなどのストレージオプションを OpenShift Container Platform ユーザーに付与します。

5.14.3. GCP Filestore CSI Driver Operator のインストール

デフォルトでは、Google Compute Platform (GCP) Filestore Container Storage Interface (CSI) Driver Operator は OpenShift Container Platform にインストールされません。次の手順を使用して、GCP Filestore CSI Driver Operator をクラスターにインストールします。

前提条件

  • OpenShift Container Platform Web コンソールにアクセスします。

手順

ウェブコンソールから GCP Filestore CSI Driver Operator をインストールするには:

  1. Web コンソールにログインします。
  2. 次のコマンドを実行して、GCE プロジェクトで Filestore API を有効にします。

    $ gcloud services enable file.googleapis.com  --project <my_gce_project> 1
    1
    <my_gce_project> を Google Cloud プロジェクトに置き換えます。

    これは、Google Cloud Web コンソールを使用して行うこともできます。

  3. GCP Filestore CSI Operator をインストールします。

    1. OperatorsOperatorHub をクリックします。
    2. フィルターボックスに GCP Filestore と入力して、GCP Filestore CSI Operator を見つけます。
    3. GCP Filestore CSI Driver Operator ボタンをクリックします。
    4. GCP Filestore CSI Driver Operator ページで、Install をクリックします。
    5. Install Operatorのページで、以下のことを確認してください。

      • All namespaces on the cluster (default)が選択されている。
      • Installed Namespaceopenshift-cluster-csi-driversに設定されている。
    6. Install をクリックします。

      インストールが終了すると、GCP Filestore CSI Operator が Web コンソールのInstalled Operatorsに表示されます。

  4. GCP Filestore CSI ドライバーをインストールします。

    1. administrationCustomResourceDefinitionsClusterCSIDriverをクリックします。
    2. InstancesタブでCreate ClusterCSIDriverをクリックします。

      以下の YAML ファイルを使用します。

      apiVersion: operator.openshift.io/v1
      kind: ClusterCSIDriver
      metadata:
          name: filestore.csi.storage.gke.io
      spec:
        managementState: Managed
    3. Create をクリックします。
    4. 以下の条件が "true"に変わるのを待ちます。

      • GCPFilestoreDriverCredentialsRequestControllerAvailable
      • GCPFilestoreDriverNodeServiceControllerAvailable
      • GCPFilestoreDriverControllerServiceControllerAvailable

5.14.4. GCP Filestore Storage のストレージクラスの作成

Operator をインストールしたら、Google Compute Platform (GCP) Filestore ボリュームの動的プロビジョニング用のストレージクラスを作成する必要があります。

前提条件

  • 実行中の OpenShift Container Platform クラスターにログインしている。

手順

ストレージクラスを作成するには:

  1. 次のサンプル YAML ファイルを使用してストレージクラスを作成します。

    サンプル YAML ファイル

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: filestore-csi
    provisioner: filestore.csi.storage.gke.io
    parameters:
      network: network-name 1
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer

    1
    Filestore インスタンスを作成する GCP Virtual Private Cloud (VPC) ネットワークの名前を指定します。
  2. Filestore インスタンスを作成する VPC ネットワークの名前を指定します。

    Filestore インスタンスを作成する VPC ネットワークを指定することをお勧めします。VPC ネットワークが指定されていない場合、Container Storage Interface (CSI) ドライバーは、プロジェクトのデフォルト VPC ネットワークにインスタンスを作成しようとします。IPI インストールでは、VPC ネットワーク名は通常、クラスター名に接尾辞 -network を付けたものです。ただし、UPI インストールでは、VPC ネットワーク名はユーザーが選択した任意の値にすることができます。

    次のコマンドを使用して MachineSets オブジェクトを調べると、VPC ネットワーク名を確認できます。

    $ oc -n openshift-machine-api get machinesets -o yaml | grep "network:"
                - network: gcp-filestore-network
    (...)

    この例では、このクラスターの VPC ネットワーク名は gcp-filestore-network です。

5.14.5. クラスターと GCP Filestore の破棄

通常、クラスターを破棄すると、OpenShift Container Platform インストーラーはそのクラスターに属するすべてのクラウドリソースを削除します。ただし、クラスターが破棄されても、Google Compute Platform (GCP) Filestore インスタンスは自動的に削除されないため、クラスターを破棄する前に、Filestore ストレージクラスを使用するすべての永続ボリュームクレーム (PVC) を手動で削除する必要があります。

手順

すべての GCP Filestore PVC を削除するには:

  1. ストレージクラス filestore-csi を使用して作成されたすべての PVC を一覧表示します。

    $ oc get pvc -o json -A | jq -r '.items[] | select(.spec.storageClassName == "filestore-csi")
  2. 前のコマンドでリストされたすべての PVC を削除します。

    $ oc delete <pvc-name> 1
    1
    <pvc-name> を、削除する必要がある PVC の名前に置き換えます。

5.14.6. 関連情報