7.2. PVC での永続ストレージの要求
次の場合は、PersistentVolumeClaim (PVC) を適用して、ワークスペースの PersistentVolume (PV) を要求することができます。
- プロジェクトのすべての開発者が PV を必要とするわけではありません。
- PV のライフサイクルは、単一のワークスペースのライフサイクルを超えています。
- PV に含まれるデータは、ワークスペース間で共有されます。
ワークスペースがエフェメラルであり、その devfile に controller.devfile.io/storage-type: ephemeral
属性が含まれている場合でも、PVC を DevWorkspace
コンテナーに適用できます。
前提条件
- ワークスペースを開始していない。
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
oc
セッション。Getting started with the CLI を参照してください。 -
すべての
DevWorkspace
コンテナーにマウントするために、ユーザープロジェクトに PVC が作成されます。
手順
controller.devfile.io/mount-to-devworkspace: true
ラベルを PVC に追加します。$ oc label persistentvolumeclaim <PVC_name> \ controller.devfile.io/mount-to-devworkspace=true
オプション: アノテーションを使用して、PVC のマウント方法を設定します。
表7.1 オプションのアノテーション Annotation 詳細 controller.devfile.io/mount-path:
PVC のマウントパス。
デフォルトは
/tmp/<PVC_name>
です。controller.devfile.io/read-only:
'true'
または'false'
に設定して、PVC を読み取り専用としてマウントするかどうかを指定します。デフォルトは
'false'
で、PVC は読み取り/書き込みとしてマウントされます。
例7.2 読み取り専用 PVC のマウント
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: <pvc_name> labels: controller.devfile.io/mount-to-devworkspace: 'true' annotations: controller.devfile.io/mount-path: </example/directory> 1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 3Gi 2 volumeName: <pv_name> storageClassName: manual volumeMode: Filesystem