28.12. 既存のレガシーストレージに対するストレージクラスの使用
28.12.1. 概要
この例では、レガシーデータボリュームが存在し、cluster-admin
または storage-admin
がそのボリュームを特定のプロジェクトで使用できるようにする必要があります。StorageClass を使用すると、他のユーザーおよびプロジェクトがこのボリュームへのアクセスを要求から取得する可能性が低くなります。これは、要求には完全一致する StorageClass 名の値が必要になるためです。また、この例では動的なプロビジョニングも無効にしています。この例では以下の要件を満たしていることを前提としています。
- OpenShift Container Platform、GCE、および永続ディスクについてある程度理解している。
- OpenShift Container Platform が GCE を使用するように適切に設定されている。
28.12.1.1. シナリオ 1: レガシーデータを含む既存の永続ボリュームに StorageClass をリンクさせる
cluster-admin
または storage-admin
として、過去の財務データ用の StorageClass を定義し、作成します。
例28.23 StorageClass の finance-history オブジェクトの定義
この定義を YAML ファイル (finance-history-storageclass.yaml
) に保存して、StorageClass を作成します。
# oc create -f finance-history-storageclass.yaml storageclass "finance-history" created # oc get storageclass NAME TYPE finance-history no-provisioning
cluster-admin
ユーザーまたは storage-admin
ユーザーは、適切な StorageClass 名を適切なユーザー、グループ、およびプロジェクトに送る必要があります。
StorageClass が存在します。cluster-admin
または storage-admin
は StorageClass で使用するための永続ボリューム (PV) を作成することができます。(動的にプロビジョニングされない) GCE および新しい GCE ディスク (gce-pv.yaml
) に接続される 永続ボリューム を使用して、手動でプロビジョニングされたディスクを作成します。
例28.24 財務履歴の PV オブジェクト
apiVersion: v1 kind: PersistentVolume metadata: name: pv-finance-history spec: capacity: storage: 35Gi accessModes: - ReadWriteMany gcePersistentDisk: readOnly: false pdName: the-existing-PD-volume-name-that-contains-the-valuable-data 1 fsType: ext4 storageClassName: finance-history 2
cluster-admin
または storage-admin
として、PV を作成し、これを表示します。
# oc create -f gce-pv.yaml persistentvolume "pv-finance-history" created # oc get pv NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE pv-finance-history 35Gi RWX Retain Available 2d
pv-finance-history
が Available で、いつでも利用可能であることに留意してください。
ユーザーとして、Persistent Volume Claim (永続ボリューム要求、PVC) を YAML ファイルとして作成し、以下のように適切な StorageClass 名を指定します。
例28.25 finance-history オブジェクト定義の要求
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-finance-history
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 20Gi
storageClassName: finance-history 1
- 1
- StorageClass 名。 完全一致している必要があります。 そうでない場合には、削除されるか、または名前が一致する別の StorageClass が作成されるまで要求が非バインドの状態になります。
PVC と PV を作成および表示して、バインドされているか確認します。
# oc create -f pvc-finance-history.yaml persistentvolumeclaim "pvc-finance-history" created # oc get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES AGE pvc-finance-history Bound pv-finance-history 35Gi RWX 9m # oc get pv (cluster/storage-admin) NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE pv-finance-history 35Gi RWX Retain Bound default/pvc-finance-history 5m
同じクラスター内の StorageClass を、レガシーデータ (動的プロビジョニングなし) および 動的プロビジョニング の両方に対して使用することができます。