3.9. 配置存储


警告

OpenShift Dev Spaces 不支持网络文件系统(NFS)协议。

3.9.1. 配置存储类

要将 OpenShift Dev Spaces 配置为使用配置的基础架构存储,请使用存储类安装 OpenShift Dev Spaces。当您要绑定由非默认置备程序提供的持久性卷时,这特别有用。

OpenShift Dev Spaces 有一个组件,需要持久性卷来存储数据:

  • OpenShift Dev Spaces 工作区。OpenShift Dev Spaces 工作区使用卷存储源代码,如 /projects 卷。
注意

只有工作区不是临时的时,OpenShift Dev Spaces 工作区源代码才会存储在持久性卷中。

持久性卷声明事实:

  • OpenShift Dev Spaces 不会在基础架构中创建持久性卷。
  • OpenShift Dev Spaces 使用持久性卷声明(PVC)来挂载持久性卷。
  • 第 1.3.1.2 节 “dev Workspace operator” 创建持久性卷声明。

    在 OpenShift Dev Spaces 配置中定义存储类名称,以使用 OpenShift Dev Spaces PVC 中的存储类功能。

流程

使用 CheCluster 自定义资源定义来定义存储类:

  1. 定义存储类名称 :配置 CheCluster 自定义资源,并安装 OpenShift Dev Spaces。请参阅 第 3.1.1 节 “在安装过程中使用 dsc 配置 CheCluster 自定义资源”

    spec:
      devEnvironments:
        storage:
          perUserStrategyPvcConfig:
            claimSize: <claim_size> 1
            storageClass: <storage_class_name> 2
          perWorkspaceStrategyPvcConfig:
            claimSize: <claim_size> 3
            storageClass: <storage_class_name> 4
          pvcStrategy: <pvc_strategy> 5
    1 3
    持久性卷声明大小。
    2 4
    持久性卷声明的存储类。当省略或留空时,会使用默认存储类。
    5
    持久性卷声明策略。支持的策略有:per-user (一个卷中的所有工作区持久性卷声明)、per-workspace (每个工作区都有自己的独立持久性卷声明)和 ephemeral (非持久性存储,当工作区停止时本地更改将会丢失。)

3.9.2. 配置存储策略

通过选择存储策略,可以将 OpenShift Dev Spaces 配置为向工作区提供持久性或非持久性存储。默认情况下,所选存储策略将应用到所有新创建的工作区。用户可以为 devfile 中的工作区选择非默认存储策略,或者通过 URL 参数 选择。

可用的存储策略:

  • 每个用户 :对用户创建的所有工作区使用单个 PVC。
  • per-workspace: 每个工作区都会被赋予自己的 PVC。
  • Ephemeral: Non-persistent storage; 当工作区停止后,任何本地更改都会丢失。

OpenShift Dev Spaces 中使用的默认存储策略是 每个用户

流程

  1. 将 Che Cluster Custom Resource 中的 pvcStrategy 字段设置为 per-userper-workspaceephemeral
注意
spec:
  devEnvironments:
    storage:
      pvc:
        pvcStrategy: 'per-user' 1
1
可用的存储策略是 按用户、每个 工作区临时的

3.9.3. 配置存储大小

您可以使用 per-userper-workspace 存储策略配置持久性卷声明(PVC)大小。您必须使用 CheCluster 自定义资源的 PVC 大小,格式为 Kubernetes 资源数量。有关可用存储策略的详情,请查看 此页面

默认持久性卷声明大小:

  • per-user: 10Gi
  • per-workspace: 5Gi

流程

  1. 在 Che Cluster Custom Resource 中为所需的存储策略设置适当的 claimSize 字段。
注意
spec:
  devEnvironments:
    storage:
      pvc:
        pvcStrategy: '<strategy_name>'  1
        perUserStrategyPvcConfig: 2
          claimSize: <resource_quantity> 3
        perWorkspaceStrategyPvcConfig:  4
          claimSize: <resource_quantity> 5
1
选择存储策略: per-userper-workspaceephemeral。注: 临时存储 策略不使用持久性存储,因此您无法配置其存储大小或其他与 PVC 相关的属性。
2 4
在下一行中指定声明大小,或者省略下一行来设置默认的声明大小值。只有在您选择此存储策略时,才会使用指定的声明大小。
3 5
声明大小必须指定为 Kubernetes 资源数量。可用数量单位包括: EiPiTiGiMiKi

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.