4.9. NFS を使用した永続ストレージ
NFS を使用して、OpenShift Container Platform クラスターに 永続ストレージ をプロビジョニングできます。
永続ボリューム (PV) および永続ボリューム要求 (PVC) は、プロジェクト全体でボリュームを共有するための便利な方法を提供します。PV 定義に含まれる NFS に固有の情報は、Pod 定義で直接定義することも可能ですが、この方法の場合にはボリュームが一意のクラスターリソースとして作成されされないため、ボリュームが競合の影響を受けやすくなります。
in-tree NFS プロビジョナーはユーザー名前空間をサポートしていません。
4.9.1. NFS を使用した永続ストレージのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
NFS サーバーとエクスポートパスを参照する永続ボリューム (PV) および永続ボリューム要求 (PVC) オブジェクトを作成することで、OpenShift Container Platform の永続ストレージをプロビジョニングできます。
前提条件
- 基盤となるインフラストラクチャーで NFS ストレージが使用可能であり、適切なエクスポートパスが設定されている。
手順
PV のオブジェクト定義を作成します。
apiVersion: v1 kind: PersistentVolume metadata: name: pv0001 spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce nfs: path: /tmp server: 172.17.0.2 persistentVolumeReclaimPolicy: Retain各項目の説明:
metadata.name-
ボリュームの名前を指定します。これは、各種の
ocコマンドの PV アイデンティティーです。 spec.capacity.storage- このボリュームに割り当てられるストレージの量を指定します。
spec.accessModes.ReadWriteOnce-
これはボリュームへのアクセスの制御に関連するように見えますが、実際はラベルの場合と同様に、PVC を PV に一致させるために使用されます。現時点では、
accessModesに基づくアクセスルールは適用されていません。 spec.nfs-
使用されているボリュームタイプを指定します。この場合は
nfsプラグインです。 spec.nfs.path- NFS サーバーがエクスポートするパスを指定します。
spec.nfs.server- NFS サーバーのホスト名または IP アドレスを指定します。
spec.persistentVolumeReclaimPolicyPV の回収ポリシーを指定します。これはボリュームのリリース時に生じることを定義します。
注記各 NFS ボリュームは、クラスター内のスケジュール可能なすべてのノードによってマウント可能でなければなりません。
PV が作成されたことを確認します。
$ oc get pv出力例
NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE pv0001 <none> 5Gi RWO Available 31s新規 PV にバインドされる永続ボリューム要求を作成します。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-claim1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi volumeName: pv0001 storageClassName: ""各項目の説明:
spec.accessModes.ReadWriteOnce- アクセスモードはセキュリティーを実施するのではなく、PV を PVC と一致させるラベルとして機能します。
spec.resources.requests.storage- この要求は 5Gi 以上の容量を提供する PV を検索します。
永続ボリューム要求が作成されたことを確認します。
$ oc get pvc出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE nfs-claim1 Bound pv0001 5Gi RWO 2m