5.15. Google Compute Platform Filestore CSI ドライバーオペレーター
5.15.1. 概要
OpenShift Container Platform は、Google Compute Platform (GCP) Filestore Storage の Container Storage Interface (CSI) ドライバーを使用して永続ボリューム (PV) をプロビジョニングできます。
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 Driver Operator は、ストレージボリュームをオンデマンドで作成できるようにすることで動的なボリュームプロビジョニングをサポートし、クラスター管理者がストレージを事前にプロビジョニングする必要がなくなります。
- GCP Filestore CSI ドライバー を使用すると、GCP Filestore PV を作成してマウントできます。
5.15.2. CSI について
ストレージベンダーはこれまで Kubernetes の一部としてストレージドライバーを提供してきました。Container Storage Interface (CSI) の実装では、サードパーティーのプロバイダーは、コア Kubernetes コードを変更せずに標準のインターフェイスを使用してストレージプラグインを提供できます。
CSI Operator は、インツリーボリュームプラグインでは不可能なボリュームスナップショットなどのストレージオプションを OpenShift Container Platform ユーザーに付与します。
5.15.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 をインストールするには:
- Web コンソールにログインします。
次のコマンドを実行して、GCE プロジェクトで Filestore API を有効にします。
$ gcloud services enable file.googleapis.com --project <my_gce_project> 1
- 1
<my_gce_project>
を Google Cloud プロジェクトに置き換えます。
これは、Google Cloud Web コンソールを使用して行うこともできます。
GCP Filestore CSI Operator をインストールします。
-
Operators
OperatorHub をクリックします。 - フィルターボックスに GCP Filestore と入力して、GCP Filestore CSI Operator を見つけます。
- GCP Filestore CSI Driver Operator ボタンをクリックします。
- GCP Filestore CSI Driver Operator ページで、Install をクリックします。
Install Operator のページで、以下のことを確認してください。
- All namespaces on the cluster (default) が選択されている。
- Installed Namespace が openshift-cluster-csi-drivers に設定されている。
Install をクリックします。
インストールが終了すると、GCP Filestore CSI Operator が Web コンソールのInstalled Operatorsに表示されます。
-
Operators
GCP Filestore CSI ドライバーをインストールします。
-
administration
CustomResourceDefinitions ClusterCSIDriverをクリックします。 Instances タブで Create ClusterCSIDriver をクリックします。
以下の YAML ファイルを使用します。
apiVersion: operator.openshift.io/v1 kind: ClusterCSIDriver metadata: name: filestore.csi.storage.gke.io spec: managementState: Managed
- Create をクリックします。
以下の条件が "true" に変わるのを待ちます。
- GCPFilestoreDriverCredentialsRequestControllerAvailable
- GCPFilestoreDriverNodeServiceControllerAvailable
- GCPFilestoreDriverControllerServiceControllerAvailable
-
administration
5.15.4. GCP Filestore Storage のストレージクラスの作成
Operator をインストールしたら、Google Compute Platform (GCP) Filestore ボリュームの動的プロビジョニング用のストレージクラスを作成する必要があります。
前提条件
- 実行中の OpenShift Container Platform クラスターにログインしている。
手順
ストレージクラスを作成するには、以下を行います。
次のサンプル YAML ファイルを使用してストレージクラスを作成します。
サンプル YAML ファイル
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: filestore-csi provisioner: filestore.csi.storage.gke.io parameters: connect-mode: DIRECT_PEERING 1 network: network-name 2 allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
Filestore インスタンスを作成する VPC ネットワークの名前を指定します。
Filestore インスタンスを作成する VPC ネットワークを指定することを推奨します。VPC ネットワークが指定されていないと、Container Storage Interface (CSI) ドライバーは、プロジェクトのデフォルト VPC ネットワークにインスタンスを作成しようとします。
IPI インストールでは、VPC ネットワーク名は通常、クラスター名に接尾辞 "-network" を付けたものです。ただし、UPI インストールでは、VPC ネットワーク名はユーザーが選択した任意の値にすることができます。
共有 VPC (
connect-mode
=PRIVATE_SERVICE_ACCESS
) の場合、ネットワークは完全な VPC 名である必要があります。たとえばproject/shared-vpc-name/global/networks/gcp-filestore-network
です。次のコマンドを使用して
MachineSets
オブジェクトを調べると、VPC ネットワーク名を確認できます。$ oc -n openshift-machine-api get machinesets -o yaml | grep "network:" - network: gcp-filestore-network (...)
この例では、このクラスターの VPC ネットワーク名は "gcp-filestore-network" です。
5.15.5. クラスターと GCP Filestore の破棄
通常、クラスターを破棄すると、OpenShift Container Platform インストーラーはそのクラスターに属するすべてのクラウドリソースを削除します。ただし、Google Compute Platform (GCP) Filestore リソースの特殊な性質により、自動クリーンアッププロセスでは、すべてのリソースが削除されない場合がまれに発生します。
したがって、Red Hat では、アンインストールプロセスによってクラスター所有のすべての Filestore リソースが削除済みであることを確認するよう推奨しています。
手順
すべての GCP Filestore PVC が削除済みであるこを確認するには、以下を実行します。
- GUI または CLI を使用して Google Cloud アカウントにアクセスします。
kubernetes-io-cluster-${CLUSTER_ID}=owned
ラベルを持つリソースを検索します。クラスター ID は削除されたクラスターに固有であるため、そのクラスター ID を持つリソースは残っていないはずです。
- 万が一リソースが残っている場合は、削除してください。