3.8. 配置存储
OpenShift Dev Spaces 不支持网络文件系统(NFS)协议。
3.8.1. 使用存储类安装 Dev Spaces
要将 OpenShift Dev Spaces 配置为使用配置的基础架构存储,请使用存储类安装 OpenShift Dev Spaces。当用户想要绑定非默认置备程序提供的持久性卷时,这特别有用。为此,用户可以为 OpenShift Dev Spaces 数据保存并设置该存储的参数。这些参数可决定以下内容:
- 特殊的主机路径
- 存储容量
- 卷 mod
- 挂载选项
- 文件系统
- 访问模式
- 存储类型
- 以及许多其他
OpenShift Dev Spaces 有一个组件,需要持久性卷来存储数据:OpenShift Dev Spaces 工作区。OpenShift Dev Spaces 工作区使用卷(如 /projects
卷)存储源代码。
只有工作区不是临时时,OpenShift Dev Spaces 工作区源代码存储在持久性卷中。
持久性卷声明事实:
- OpenShift Dev Spaces 不会在基础架构中创建持久性卷。
- OpenShift Dev Spaces 使用持久性卷声明(PVC)来挂载持久性卷。
OpenShift Dev Spaces 服务器创建持久性卷声明。
用户在 OpenShift Dev Spaces 配置中定义存储类名称,以使用 OpenShift Dev Spaces PVC 中的存储类功能。使用存储类时,用户使用额外的存储参数以灵活的方式配置基础架构存储。您还可以使用类名称将静态置备的持久性卷绑定到 OpenShift Dev Spaces PVC。
流程
使用 CheCluster
自定义资源定义来定义存储类:
定义存储类名称:配置
CheCluster
自定义资源,并安装 OpenShift Dev Spaces。请参阅 第 3.1.1 节 “在安装过程中使用 dsc 配置CheCluster
自定义资源”。spec: devEnvironments: storage: pvc: # keep blank unless you need to use a non default storage class for workspace PVC(s) storageClass: 'workspace-storage'
在
che-workspace-pv.yaml
文件中为 OpenShift Dev Spaces 工作区定义持久性卷:che-workspace-pv.yaml
fileapiVersion: v1 kind: PersistentVolume metadata: name: workspace-pv-volume labels: type: local spec: storageClassName: workspace-storage capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: "/data/che/workspace"
绑定持久性卷:
$ kubectl apply -f che-workspace-pv.yaml
您必须为卷提供有效的文件权限。您可以使用存储类配置或手动进行此操作。要手动定义权限,请定义 storageClass#mountOptions
uid
和 gid
。