5.2.3. ローカルストレージ Operator のないローカルボリュームのプロビジョニング
ローカルボリュームは動的プロビジョニングで作成できません。代わりに、永続ボリュームは、永続ボリューム (PV) をオブジェクト定義に定義して作成できます。このローカルボリュームプロビジョナーは、定義されたリソースで指定されているパスでファイルシステムまたはブロックボリュームデバイスを検索します。
PV の手動プロビジョニングには、PVC の削除時に PV 全体でデータ漏洩が発生するリスクが含まれます。ローカルストレージ Operator は、ローカル PV のプロビジョニング時にデバイスのライフサイクルを自動化するために使用することが推奨されます。
前提条件
- ローカルディスクが OpenShift Container Platform ノードに割り当てられていること。
手順
PV を定義します。
PersistentVolumeオブジェクト定義を使用して、example-pv-filesystem.yamlまたはexample-pv-block.yamlなどのファイルを作成します。このリソースは、ノードおよびローカルボリュームへのパスを定義する必要があります。注記同じデバイスに別のストレージクラス名を使用しないでください。同じ名前を使用すると、複数の PV が作成されます。
example-pv-filesystem.yaml
apiVersion: v1 kind: PersistentVolume metadata: name: example-pv-filesystem spec: capacity: storage: 100Gi volumeMode: Filesystem1 accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local-sc2 local: path: /dev/xvdf3 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - example-node- 1
- PV のタイプを定義するボリュームモード (
FilesystemまたはBlock)。 - 2
- PV リソースの作成時に使用するストレージクラスの名前。この PV のセットを一意に特定するストレージクラスを使用にしてください。
- 3 3
- 選択するローカルストレージデバイスのリスト、またはディレクトリーが含まれるパスです。
FilesystemvolumeModeのディレクトリーのみを指定できます。注記raw ブロックボリューム (
volumeMode: block) はファイルシステムでフォーマットされません。このモードは、Pod で実行しているすべてのアプリケーションが raw ブロックデバイスを使用できる場合にのみ使用します。example-pv-block.yaml
apiVersion: v1 kind: PersistentVolume metadata: name: example-pv-block spec: capacity: storage: 100Gi volumeMode: Block1 accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local-sc2 local: path: /dev/xvdf3 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - example-node - PV のタイプを定義するボリュームモード (
FilesystemまたはBlock)。 - PV リソースの作成時に使用するストレージクラスの名前。この PV のセットを一意に特定するストレージクラスを使用するようにしてください。
- 選択するローカルストレージデバイスの一覧を含むパスです。
OpenShift Container Platform クラスターに PV リソースを作成します。作成したばかりのファイルを指定します。
$ oc create -f <example-pv>.yamlローカル PV が作成されていることを確認します。
$ oc get pv出力例
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE example-pv-filesystem 100Gi RWO Delete Available local-sc 3m47s example-pv1 1Gi RWO Delete Bound local-storage/pvc1 local-sc 12h example-pv2 1Gi RWO Delete Bound local-storage/pvc2 local-sc 12h example-pv3 1Gi RWO Delete Bound local-storage/pvc3 local-sc 12h