4.4. Cinder を使用した永続ストレージ
OpenShift Container Platform は OpenStack Cinder をサポートします。これには、Kubernetes と OpenStack についてある程度の理解があることが前提となります。
Cinder ボリュームは動的にプロビジョニングできます。永続ボリュームは、単一のプロジェクトまたは namespace にバインドされず、OpenShift Container Platform クラスター全体で共有できます。永続ボリューム要求はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。
OpenShift Container Platform 4.11 以降では、Cinder インツリーボリュームプラグインと同等の CSI ドライバーに自動的に移行できます。
CSI 自動移行はシームレスに行ってください。移行をしても、永続ボリューム、永続ボリューム要求、ストレージクラスなどの既存の API オブジェクトを使用する方法は変更されません。移行の詳細は、CSI の自動移行 を参照してください。
4.4.1. Cinder を使用した手動プロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
前提条件
- Red Hat OpenStack Platform (RHOSP) 用に設定された OpenShift Container Platform
- Cinder ボリューム ID
4.4.1.1. 永続ボリュームの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform に永続ボリューム (PV) を作成する前に、オブジェクト定義でこれを定義する必要があります。
手順
オブジェクト定義をファイルに保存します。
cinder-persistentvolume.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ボリュームをフォーマットしてプロビジョニングした後には、
fstype
パラメーターの値は変更しないでください。この値を変更すると、データの損失や、Pod の障害につながる可能性があります。前のステップで保存したオブジェクト定義ファイルを作成します。
oc create -f cinder-persistentvolume.yaml
$ oc create -f cinder-persistentvolume.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.1.2. 永続ボリュームのフォーマット リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は初回の使用前にフォーマットするため、フォーマットされていない Cinder ボリュームを PV として使用できます。
OpenShift Container Platform がボリュームをマウントし、これをコンテナーに渡す前に、システムは PV 定義の fsType
パラメーターで指定されたファイルシステムがボリュームに含まれるかどうかをチェックします。デバイスが指定されたファイルシステムでフォーマットされていない場合、デバイスのデータはすべて消去され、デバイスはそのファイルシステムで自動的にフォーマットされます。
4.4.1.3. Cinder ボリュームのセキュリティー リンクのコピーリンクがクリップボードにコピーされました!
お使いのアプリケーションで Cinder PV を使用する場合に、そのデプロイメント設定にセキュリティーを追加します。
前提条件
-
適切な
fsGroup
ストラテジーを使用する SCC が作成される必要があります。
手順
サービスアカウントを作成して、そのアカウントを SCC に追加します。
oc create serviceaccount <service_account>
$ oc create serviceaccount <service_account>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-scc-to-user <new_scc> -z <service_account> -n <project>
$ oc adm policy add-scc-to-user <new_scc> -z <service_account> -n <project>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのデプロイ設定で、サービスアカウント名と
securityContext
を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow