5.6. Google Compute Platform Filestore CSI ドライバーオペレーター
5.6.1. 概要
OpenShift Dedicated は、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.6.2. CSI について
ストレージベンダーはこれまで Kubernetes の一部としてストレージドライバーを提供してきました。Container Storage Interface (CSI) の実装では、サードパーティーのプロバイダーは、コア Kubernetes コードを変更せずに標準のインターフェイスを使用してストレージプラグインを提供できます。
CSI Operator は、in-tree ボリュームプラグインでは不可能なボリュームスナップショットなどのストレージオプションを OpenShift Dedicated ユーザーに付与します。
5.6.3. GCP Filestore CSI Driver Operator のインストール
デフォルトでは、Google Compute Platform (GCP) の Filestore Container Storage Interface (CSI) Driver Operator は OpenShift Dedicated にインストールされません。次の手順を使用して、GCP Filestore CSI Driver Operator をクラスターにインストールします。
前提条件
- OpenShift Dedicated Web コンソールへアクセスできる。
手順
ウェブコンソールから GCP Filestore CSI Driver Operator をインストールするには、以下を行います。
- OpenShift Cluster Manager にログインします。
- クラスターを選択します。
- Open console をクリックし、認証情報を使用してログインします。
次のコマンドを実行して、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.6.4. GCP Filestore Storage のストレージクラスの作成
Operator をインストールしたら、Google Compute Platform (GCP) Filestore ボリュームの動的プロビジョニング用のストレージクラスを作成する必要があります。
前提条件
- 実行中の OpenShift Dedicated クラスターにログインしている。
手順
ストレージクラスを作成するには、以下を行います。
次のサンプル 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.6.5. クラスターと GCP Filestore の破棄
通常、クラスターを破棄すると、OpenShift Dedicated インストーラーはそのクラスターに属するすべてのクラウドリソースを削除します。ただし、Google Compute Platform (GCP) Filestore リソースの特殊な性質により、自動クリーンアッププロセスでは、すべてのリソースが削除されない場合がまれに発生します。
したがって、Red Hat では、アンインストールプロセスによってクラスター所有のすべての Filestore リソースが削除済みであることを確認するよう推奨しています。
手順
すべての GCP Filestore PVC が削除済みであるこを確認するには、以下を実行します。
- GUI または CLI を使用して Google Cloud アカウントにアクセスします。
kubernetes-io-cluster-${CLUSTER_ID}=owned
ラベルを持つリソースを検索します。クラスター ID は削除されたクラスターに固有であるため、そのクラスター ID を持つリソースは残っていないはずです。
- 万が一リソースが残っている場合は、削除してください。