Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

27.2.2. プロビジョニング

ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。NFS ボリュームをプロビジョニングするには、NFS サーバーの一覧とエクスポートパスのみが必要です。

最初に、PV のオブジェクト定義を作成します。

例27.1 NFS を使用した PV オブジェクト定義

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001 1
spec:
  capacity:
    storage: 5Gi 2
  accessModes:
  - ReadWriteOnce 3
  nfs: 4
    path: /tmp 5
    server: 172.17.0.2 6
  persistentVolumeReclaimPolicy: Retain 7
1
ボリュームの名前。これは、各種の oc <command> pod コマンドの PV アイデンティティーです。
2
このボリュームに割り当てられるストレージの量。
3
これはボリュームへのアクセスの制御に関連するように見えますが、実際はラベルの場合と同様に、PVC を PV に一致させるために使用されます。現時点では、accessModes に基づくアクセスルールは適用されていません。
4
使用されているボリュームタイプ。 この場合は nfs プラグインです。
5
NFS サーバーがエクスポートしているパス。
6
NFS サーバーのホスト名または IP アドレス
7
PV の回収ポリシー。ボリュームが要求から解放されるタイミングでボリュームで実行されることを定義します。リソースの回収 を参照してください。
注記

各 NFS ボリュームは、クラスター内のスケジュール可能なすべてのノードによってマウント可能でなければなりません。

定義をファイル (nfs-pv.yaml など) に保存し、PV を作成します。

$ oc create -f nfs-pv.yaml
persistentvolume "pv0001" created

PV が作成されたことを確認します。

# oc get pv
NAME                     LABELS    CAPACITY     ACCESSMODES   STATUS      CLAIM     REASON    AGE
pv0001                   <none>    5368709120   RWO           Available                       31s

以下の手順で PVC が作成されます。 これは新規 PV にバインドされます。

例27.2 PVC オブジェクト定義

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-claim1
spec:
  accessModes:
    - ReadWriteOnce 1
  resources:
    requests:
      storage: 1Gi 2
1
PV について前述されているように、accessModes はセキュリティーを実施するのではなく、PV を PVC と一致させるラベルとして機能します。
2
この要求は 1Gi 以上の容量を提供する PV を検索します。

定義をファイル (nfs-claim.yaml など) に保存し、PVC を作成します。

# oc create -f nfs-claim.yaml